[jboss-cvs] JBossAS SVN: r91776 - branches/JBPAPP_4_2_0_GA_CP/tomcat/src/main/org/jboss/web/tomcat/security.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jul 29 13:16:43 EDT 2009


Author: mmoyses
Date: 2009-07-29 13:16:43 -0400 (Wed, 29 Jul 2009)
New Revision: 91776

Modified:
   branches/JBPAPP_4_2_0_GA_CP/tomcat/src/main/org/jboss/web/tomcat/security/SecurityFlushSessionListener.java
Log:
JBPAPP-2312: session expiration can flush the authentication cache

Modified: branches/JBPAPP_4_2_0_GA_CP/tomcat/src/main/org/jboss/web/tomcat/security/SecurityFlushSessionListener.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/tomcat/src/main/org/jboss/web/tomcat/security/SecurityFlushSessionListener.java	2009-07-29 17:14:10 UTC (rev 91775)
+++ branches/JBPAPP_4_2_0_GA_CP/tomcat/src/main/org/jboss/web/tomcat/security/SecurityFlushSessionListener.java	2009-07-29 17:16:43 UTC (rev 91776)
@@ -55,6 +55,8 @@
    
    private String securityDomain = null; 
    
+   private static final String JBOSS_PRINCIPAL = "org.jboss.web.tomcat.security.principal";
+
    /**
     * 
     * Create a new SecurityFlushSessionListener.
@@ -82,6 +84,12 @@
          if(securityDomain == null) 
             log.debug("Unable to obtain SecurityDomain"); 
          Principal principal = getPrincipal(subject);
+         if(principal == null)
+         {
+                 if(trace)
+                         log.trace("Searching for principal in the session");
+                 principal = (Principal) httpSessionEvent.getSession().getAttribute(JBOSS_PRINCIPAL);
+         }
          if(principal != null && securityDomain != null)
             flushAuthenticationCache(principal);
       }catch(Exception e)




More information about the jboss-cvs-commits mailing list