세션중복 에러
- 작성자 :
- 김*준
- 작성일 :
- 2020-02-06 18:00:43
- 조회수 :
- 2,375
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
egovframework 3.8 버전에서 테스트 하고 있습니다.
제공되는 공통 컴포넌트 중 로그인, 게시판 부분 체크하여 프로젝트에 포함시켰고,
공통컴포넌트 보안패치를 통한 보완사항 부분도 덮어 씌워서 적용 시켰습니다.
그대로 소스를 받은 뒤, 제가 수정한 부분은 DB 정보 뿐입니다.
테스트 시나리오는 이렇습니다.
1) USER 계정으로 크롬에서 로그인
2) USER 계정으로 IE에서 로그인
3) 크롬에서 메뉴 이동 또는 새로고침
보통 위와 같은 상황에서는 크롬에서는 시큐리티 간소화 설정 부분인 concurrentExpiredUrl="/EgovContent.do" 으로 이동 되어야 합니다.
그런데 아래와 같은 에러내용과 함께 500 error가 납니다.
심각: Servlet.service() for servlet [dispatcher] in context with path [] threw exception
java.lang.NullPointerException
at org.springframework.security.web.session.ConcurrentSessionFilter$1.onExpiredSessionDetected(ConcurrentSessionFilter.java:107)
at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:145)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
제공되는 설정에서 DB부분을 수정한것 말고는 손댄것이 없는데 에러가 나며, 중복 로그인 방지 기능이 잘 동작하지 않아 질문드립니다.
감사합니다.
제공되는 공통 컴포넌트 중 로그인, 게시판 부분 체크하여 프로젝트에 포함시켰고,
공통컴포넌트 보안패치를 통한 보완사항 부분도 덮어 씌워서 적용 시켰습니다.
그대로 소스를 받은 뒤, 제가 수정한 부분은 DB 정보 뿐입니다.
테스트 시나리오는 이렇습니다.
1) USER 계정으로 크롬에서 로그인
2) USER 계정으로 IE에서 로그인
3) 크롬에서 메뉴 이동 또는 새로고침
보통 위와 같은 상황에서는 크롬에서는 시큐리티 간소화 설정 부분인 concurrentExpiredUrl="/EgovContent.do" 으로 이동 되어야 합니다.
그런데 아래와 같은 에러내용과 함께 500 error가 납니다.
심각: Servlet.service() for servlet [dispatcher] in context with path [] threw exception
java.lang.NullPointerException
at org.springframework.security.web.session.ConcurrentSessionFilter$1.onExpiredSessionDetected(ConcurrentSessionFilter.java:107)
at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:145)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
제공되는 설정에서 DB부분을 수정한것 말고는 손댄것이 없는데 에러가 나며, 중복 로그인 방지 기능이 잘 동작하지 않아 질문드립니다.
감사합니다.
A
안녕하세요.
표준프레임워크센터 입니다.
해당문제는
Spring Security v4.2.3 이상에서 발생하는 문제로
ConcurrentSessionFilter쪽의 문제입니다.
표준프레임워크 v3.9베타에서는
해당 문제가 해결되었습니다.
또는 Spring Security v4.0.3을 사용하는
표준프레임워크 v3.7을 사용하시면
해당문제는 발생하지 않습니다.
감사합니다.
표준프레임워크센터 입니다.
해당문제는
Spring Security v4.2.3 이상에서 발생하는 문제로
ConcurrentSessionFilter쪽의 문제입니다.
표준프레임워크 v3.9베타에서는
해당 문제가 해결되었습니다.
또는 Spring Security v4.0.3을 사용하는
표준프레임워크 v3.7을 사용하시면
해당문제는 발생하지 않습니다.
감사합니다.