[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