[jboss-svn-commits] JBL Code SVN: r19870 - in labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal: login and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue May 6 09:36:04 EDT 2008


Author: szimano
Date: 2008-05-06 09:36:04 -0400 (Tue, 06 May 2008)
New Revision: 19870

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/login/LabsFormAuthenticator.java
Log:
autologin query-lost fixed

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	2008-05-06 12:45:51 UTC (rev 19869)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/AutologinFilter.java	2008-05-06 13:36:04 UTC (rev 19870)
@@ -115,8 +115,9 @@
 				if ((cred = hasCookies(httpReq)) != null
 						&& cred.length == COOKIE_DESC_LEN) {
 
+					log.info("enter uri: "+httpReq.getRequestURI() + "?" + httpReq.getQueryString());
 					httpReq.getSession().setAttribute(ENTER_URI,
-							httpReq.getRequestURI() + httpReq.getQueryString());
+							httpReq.getRequestURI() + "?" + httpReq.getQueryString());
 
 					String url = httpReq.getContextPath()
 							+ (httpReq.isSecure() ? "/authsec" : "/auth")

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/login/LabsFormAuthenticator.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/login/LabsFormAuthenticator.java	2008-05-06 12:45:51 UTC (rev 19869)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/login/LabsFormAuthenticator.java	2008-05-06 13:36:04 UTC (rev 19870)
@@ -4,8 +4,10 @@
 
 import javax.servlet.RequestDispatcher;
 
+import org.apache.catalina.Session;
 import org.apache.catalina.authenticator.Constants;
 import org.apache.catalina.authenticator.FormAuthenticator;
+import org.apache.catalina.authenticator.SavedRequest;
 import org.apache.catalina.connector.Request;
 import org.apache.catalina.connector.Response;
 import org.apache.catalina.deploy.LoginConfig;
@@ -25,6 +27,15 @@
 
 		log.debug("labs auth valve eexecuted");
 
+		if (request.getSession().getAttribute(AutologinFilter.ENTER_URI) != null) {
+			Session session = request.getSessionInternal(true);
+			session.setNote(AutologinFilter.ENTER_URI, request.getSession()
+					.getAttribute(AutologinFilter.ENTER_URI));
+			log
+					.info("saved uri: "
+							+ session.getNote(AutologinFilter.ENTER_URI));
+		}
+
 		if (request.getParameter(AUTOLOGIN_NAME) != null
 				&& request.getParameter(AUTOLOGIN_NAME).equals("Remember me")) {
 			log.debug("Autologin enabled");
@@ -61,4 +72,32 @@
 		}
 	}
 
+	@Override
+	protected String savedRequestURL(Session session) {
+		if (session.getNote(AutologinFilter.ENTER_URI) != null) {
+			log.info("setting to: "
+					+ session.getNote(AutologinFilter.ENTER_URI));
+			return (String) session.getNote(AutologinFilter.ENTER_URI);
+		} else {
+			log.info("enter uri is null: "
+					+ session.getNote(AutologinFilter.ENTER_URI));
+			return super.savedRequestURL(session);
+		}
+	}
+
+	@Override
+	protected boolean restoreRequest(Request request, Session session)
+			throws IOException {
+		boolean b = super.restoreRequest(request, session);
+
+		String labsReqUri = (String) session.getNote(AutologinFilter.ENTER_URI);
+
+		if (labsReqUri != null && labsReqUri.indexOf('?') != -1) {
+			request.getCoyoteRequest().queryString().setString(labsReqUri
+					.substring(labsReqUri.indexOf('?') + 1));
+		}
+
+		return b;
+	}
+
 }




More information about the jboss-svn-commits mailing list