Author: michiel
Date: 2010-05-07 18:08:31 +0200 (Fri, 07 May 2010)
New Revision: 42113

Modified:
   
didactor/trunk/components/core/src/main/java/nl/didactor/filter/ProviderFilter.java
   
didactor/trunk/components/core/src/main/java/nl/didactor/security/Authentication.java
Log:
dropping education from session was not such a good idea, it was sometimes the 
only way to keep track of it.

Modified: 
didactor/trunk/components/core/src/main/java/nl/didactor/filter/ProviderFilter.java
===================================================================
--- 
didactor/trunk/components/core/src/main/java/nl/didactor/filter/ProviderFilter.java
 2010-05-07 16:08:06 UTC (rev 42112)
+++ 
didactor/trunk/components/core/src/main/java/nl/didactor/filter/ProviderFilter.java
 2010-05-07 16:08:31 UTC (rev 42113)
@@ -42,6 +42,7 @@
 
 
     public static String USER_KEY = "nl.didactor.user_attributes";
+    public static String EDUCATION_KEY = "nl.didactor.education";
 
     private static Map<String, Map<String, Object>> providerCache = new 
HashMap<String, Map<String, Object>>();
 
@@ -314,6 +315,14 @@
         if (parameterEducation != null && parameterEducation.length() == 0) {
             parameterEducation = null;
         }
+        if (session != null) {
+            if (parameterEducation == null) {
+                parameterEducation = (String) 
session.getAttribute(EDUCATION_KEY);
+                log.debug("education found from session " + 
parameterEducation);
+            } else {
+                session.setAttribute(EDUCATION_KEY, parameterEducation);
+            }
+        }
 
 
         String parameterProvider  = req.getParameter("provider");

Modified: 
didactor/trunk/components/core/src/main/java/nl/didactor/security/Authentication.java
===================================================================
--- 
didactor/trunk/components/core/src/main/java/nl/didactor/security/Authentication.java
       2010-05-07 16:08:06 UTC (rev 42112)
+++ 
didactor/trunk/components/core/src/main/java/nl/didactor/security/Authentication.java
       2010-05-07 16:08:31 UTC (rev 42113)
@@ -114,6 +114,7 @@
         HttpSession session = request == null ? null : 
request.getSession(false);
         if (session != null) {
             
session.removeAttribute(nl.didactor.filter.ProviderFilter.USER_KEY);
+            
session.removeAttribute(nl.didactor.filter.ProviderFilter.EDUCATION_KEY);
             String loginComponent = 
(String)session.getAttribute("didactor-logincomponent");
             if (loginComponent != null) {
                 for (AuthenticationComponent ac : securityComponents) {
@@ -158,6 +159,7 @@
             if (session != null) {
                 log.info("Removing keys from session");
                 
session.removeAttribute(nl.didactor.filter.ProviderFilter.USER_KEY);
+                
session.removeAttribute(nl.didactor.filter.ProviderFilter.EDUCATION_KEY);
             }
         }
 
@@ -275,6 +277,7 @@
         }
         //
         session.removeAttribute(nl.didactor.filter.ProviderFilter.USER_KEY);
+        
session.removeAttribute(nl.didactor.filter.ProviderFilter.EDUCATION_KEY);
         map.putAll(request.getParameterMap());
         map.putAll(loginInfo);
 

_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to