소스 검색

Fixed NPE see SEC-143

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();