Yep.

On Oct 31, 2007, at 5:32 AM, Jacques Le Roux wrote:

Hi Andy,

Just for my information, it is intended to add an UI later ?

Jacques

Author: jaz
Date: Tue Oct 30 21:33:50 2007
New Revision: 590554

URL: http://svn.apache.org/viewvc?rev=590554&view=rev
Log:
added code which uses "rememberMe" parameter to store a cookie with the user's login ID

Modified:
ofbiz/trunk/applications/securityext/src/org/ofbiz/securityext/ login/LoginEvents.java

Modified: ofbiz/trunk/applications/securityext/src/org/ofbiz/ securityext/login/LoginEvents.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/securityext/src/org/ofbiz/securityext/login/LoginEvents.java?rev=590554&r1=590553&r2=590554&view=diff
= = = = = = = = = ===================================================================== --- ofbiz/trunk/applications/securityext/src/org/ofbiz/securityext/ login/LoginEvents.java (original) +++ ofbiz/trunk/applications/securityext/src/org/ofbiz/securityext/ login/LoginEvents.java Tue Oct 30 21:33:50 2007
@@ -22,6 +22,7 @@
import java.util.Iterator;
import java.util.Map;

+import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@@ -53,6 +54,7 @@

    public static final String module = LoginEvents.class.getName();
    public static final String resource = "SecurityextUiLabels";
+ public static final String usernameCookieName = "OFBiz.Username";

    /**
* Save USERNAME and PASSWORD for use by auth pages even if we start in non-auth pages.
@@ -342,7 +344,41 @@
        if (!"success".equals(responseString)) {
            return responseString;
        }
+        if ("Y".equals(request.getParameter("rememberMe"))) {
+            setUsername(request, response);
+        }
        // if we logged in okay, do the check store customer role
return ProductEvents.checkStoreCustomerRole(request, response);
    }
-}
+
+    public static String getUsername(HttpServletRequest request) {
+        String cookieUsername = null;
+        Cookie[] cookies = request.getCookies();
+ if (Debug.verboseOn()) Debug.logVerbose("Cookies:" + cookies, module);
+        if (cookies != null) {
+            for (int i = 0; i < cookies.length; i++) {
+ if (cookies[i].getName().equals(usernameCookieName)) {
+                    cookieUsername = cookies[i].getValue();
+                    break;
+                }
+            }
+        }
+        return cookieUsername;
+    }
+
+ public static void setUsername(HttpServletRequest request, HttpServletResponse response) {
+        HttpSession session = request.getSession();
+ String domain = UtilProperties.getPropertyValue("url.properties", "cookie.domain");
+        // first try to get the username from the cookie
+        synchronized (session) {
+            if (UtilValidate.isEmpty(getUsername(request))) {
+                // create the cookie and send it back
+ Cookie cookie = new Cookie(usernameCookieName, request.getParameter("USERNAME"));
+                cookie.setMaxAge(60 * 60 * 24 * 365);
+                cookie.setPath("/");
+                cookie.setDomain(domain);
+                response.addCookie(cookie);
+            }
+        }
+    }
+}
\ No newline at end of file




Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to