[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