Index: lams_common/src/java/org/lamsfoundation/lams/web/session/LoginFormAuthenticator.java =================================================================== diff -u -r69f71732ee88c23ac8989c8e82070a6402b59fb5 -r190ea78cabc1ed0f0e9e31b83aa73d153ff9620f --- lams_common/src/java/org/lamsfoundation/lams/web/session/LoginFormAuthenticator.java (.../LoginFormAuthenticator.java) (revision 69f71732ee88c23ac8989c8e82070a6402b59fb5) +++ lams_common/src/java/org/lamsfoundation/lams/web/session/LoginFormAuthenticator.java (.../LoginFormAuthenticator.java) (revision 190ea78cabc1ed0f0e9e31b83aa73d153ff9620f) @@ -34,14 +34,22 @@ * * @author Steve.Ni * - * $version$ + * @version $Revision$ */ public class LoginFormAuthenticator extends FormAuthenticator{ public boolean authenticate(Request request, Response response, LoginConfig config) throws IOException { - SessionManager.startSession(request,response); - boolean result = super.authenticate(request, response, config); - SessionManager.endSession(); + String uri = request.getRequestURI(); + boolean result; + //only when URI is j_security_check, execute the shared session initialize. + //Otherwise, the shared session initializtion will run in Filter. + if(uri.endsWith("j_security_check")){ + SessionManager.startSession(request,response); + result = super.authenticate(request, response, config); + SessionManager.endSession(); + }else + result = super.authenticate(request, response, config); + return result; } Index: lams_common/src/java/org/lamsfoundation/lams/web/session/SessionManager.java =================================================================== diff -u -r0b91d14af990013a1f529eca5d701ebe37a5fc73 -r190ea78cabc1ed0f0e9e31b83aa73d153ff9620f --- lams_common/src/java/org/lamsfoundation/lams/web/session/SessionManager.java (.../SessionManager.java) (revision 0b91d14af990013a1f529eca5d701ebe37a5fc73) +++ lams_common/src/java/org/lamsfoundation/lams/web/session/SessionManager.java (.../SessionManager.java) (revision 190ea78cabc1ed0f0e9e31b83aa73d153ff9620f) @@ -47,7 +47,7 @@ * * @author Steve.Ni * - * $version$ + * @version $Revision$ */ public class SessionManager{ Index: lams_common/src/java/org/lamsfoundation/lams/web/session/SessionVisitor.java =================================================================== diff -u -rebbe77ec5ad6506eca4b642562cf9898c0d7d587 -r190ea78cabc1ed0f0e9e31b83aa73d153ff9620f --- lams_common/src/java/org/lamsfoundation/lams/web/session/SessionVisitor.java (.../SessionVisitor.java) (revision ebbe77ec5ad6506eca4b642562cf9898c0d7d587) +++ lams_common/src/java/org/lamsfoundation/lams/web/session/SessionVisitor.java (.../SessionVisitor.java) (revision 190ea78cabc1ed0f0e9e31b83aa73d153ff9620f) @@ -23,7 +23,7 @@ * Provide some internal method to access session private values. * * @author Steve.Ni - * $version$ + * @version $Revision$ */ interface SessionVisitor { /** Index: lams_common/src/java/org/lamsfoundation/lams/web/session/SystemSessionFilter.java =================================================================== diff -u -r0b91d14af990013a1f529eca5d701ebe37a5fc73 -r190ea78cabc1ed0f0e9e31b83aa73d153ff9620f --- lams_common/src/java/org/lamsfoundation/lams/web/session/SystemSessionFilter.java (.../SystemSessionFilter.java) (revision 0b91d14af990013a1f529eca5d701ebe37a5fc73) +++ lams_common/src/java/org/lamsfoundation/lams/web/session/SystemSessionFilter.java (.../SystemSessionFilter.java) (revision 190ea78cabc1ed0f0e9e31b83aa73d153ff9620f) @@ -36,7 +36,7 @@ * * @author Steve.Ni * - * $version$ + * @version $Revision$ */ public class SystemSessionFilter implements Filter {