Ray Krueger преди 19 години
родител
ревизия
b20c0a674a
променени са 1 файла, в които са добавени 5 реда и са изтрити 1 реда
  1. 5 1
      core/src/main/java/org/acegisecurity/providers/jaas/JaasAuthenticationProvider.java

+ 5 - 1
core/src/main/java/org/acegisecurity/providers/jaas/JaasAuthenticationProvider.java

@@ -421,8 +421,12 @@ public class JaasAuthenticationProvider implements AuthenticationProvider,
      */
     protected void handleLogout(HttpSessionDestroyedEvent event) {
         SecurityContext context = (SecurityContext) event.getSession().getAttribute(HttpSessionContextIntegrationFilter.ACEGI_SECURITY_CONTEXT_KEY);
+        if (context == null) {
+            log.debug("The destroyed session has no SecurityContext");
+            return;
+        }
         Authentication auth = context.getAuthentication();
-        if (auth instanceof JaasAuthenticationToken) {
+        if ((auth != null) && (auth instanceof JaasAuthenticationToken)) {
             JaasAuthenticationToken token = (JaasAuthenticationToken) auth;
             try {
                 LoginContext loginContext = token.getLoginContext();