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
>
>

Reply via email to