[jboss-svn-commits] JBL Code SVN: r7069 - labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Oct 24 05:12:26 EDT 2006


Author: szimano
Date: 2006-10-24 05:12:23 -0400 (Tue, 24 Oct 2006)
New Revision: 7069

Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/AutologinFilter.java
Log:
JBLAB-764 - cookie refresh


Modified: labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/AutologinFilter.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/AutologinFilter.java	2006-10-24 04:22:15 UTC (rev 7068)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/AutologinFilter.java	2006-10-24 09:12:23 UTC (rev 7069)
@@ -31,7 +31,7 @@
 
 	private static final String USER_COOKIE = "labs_auto_username";
 
-	private static final int COOKIE_EXPIRE = 60 * 60 * 24 * 5; // 5 days
+	private static final int COOKIE_EXPIRE = 60 * 60 * 24 * 30; // 30 days
 
 	private static final String AUTLOGIN_PASSWORD = "Autologin:password";
 
@@ -46,6 +46,8 @@
 		HttpServletRequest httpReq = (HttpServletRequest) request;
 		HttpServletResponse httpResp = (HttpServletResponse) response;
 
+		log.info("Request: "+httpReq.getRequestURI()+" Query: "+httpReq.getQueryString());
+		
 		log.info("doing login");
 		if (httpReq.getUserPrincipal() != null
 				&& httpReq.getSession().getAttribute(REQUEST_AUTOLOGIN) != null
@@ -73,7 +75,15 @@
 					.getRemoteAddr(), httpReq.getHeader("User-Agent"));
 
 			log.info(httpReq.getUserPrincipal().getName());
-		} else if (httpReq.getUserPrincipal() == null
+		} 
+		else if (httpReq.getUserPrincipal() != null) {
+			String[] cred = hasCookies(httpReq);
+			
+			if (cred != null && cred.length == 2) {
+				refreshCookies(httpReq, httpResp);
+			}
+		}
+		else if (httpReq.getUserPrincipal() == null
 				&& !httpReq.getRequestURI().equals("/portal/default/login")) {
 			// user not logged in - try autologin
 
@@ -94,6 +104,22 @@
 
 	}
 
+	private void refreshCookies(HttpServletRequest request, HttpServletResponse response) {
+		Cookie[] cookies = request.getCookies();
+
+		if (cookies != null)
+			for (int i = 0; i < cookies.length; i++) {
+				
+				if (cookies[i].getName().equals(USER_COOKIE)
+						|| cookies[i].getName().equals(PASS_COOKIE)) {
+					
+					cookies[i].setMaxAge(COOKIE_EXPIRE);
+					cookies[i].setPath("/");
+					response.addCookie(cookies[i]);
+				}
+			}
+	}
+
 	public static String[] hasCookies(HttpServletRequest httpReq) {
 		Cookie[] cookies = httpReq.getCookies();
 		String[] cred = new String[2];




More information about the jboss-svn-commits mailing list