spring security (max-sessions)관련 질문입니다.
- 작성자 :
- 김*중
- 작성일 :
- 2013-09-26 15:15:25
- 조회수 :
- 1,515
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
<concurrent-session-control max-sessions="1" exception-if-maximum-exceeded="true" expired-url="/index.do" />
로 해놓고
다른 브라우저에서 중복 로그인을 하면 기존에 소스에는 시큐리티 로그인과 일반 로그인이 같이 돌아가는거 같은데요....
문제는 중복로그인시 새로 로그인 하는 부분에 security쪽에는 로그인세션 생성이 안되는데 일반로그인은 생성이 되는 듯합니다.
이부분을 수정하려면 어떤 부분을 봐야하며 어떻게 수정을 해야하는지 알고 싶습니다.
로 해놓고
다른 브라우저에서 중복 로그인을 하면 기존에 소스에는 시큐리티 로그인과 일반 로그인이 같이 돌아가는거 같은데요....
문제는 중복로그인시 새로 로그인 하는 부분에 security쪽에는 로그인세션 생성이 안되는데 일반로그인은 생성이 되는 듯합니다.
이부분을 수정하려면 어떤 부분을 봐야하며 어떻게 수정을 해야하는지 알고 싶습니다.
A
안녕하세요. 김재중님.
max-session 통제가 되려면 web.xml에 다음과 같은 listener 등록이 필요합니다.
<listener>
<listener-class>org.springframework.security.ui.session.HttpSessionEventPublisher</listener-class>
</listener>
세션에 대한 생성, 삭제 등의 세션 관련 이벤트를 처리하는 리스너로 max-session 설정을 제어합니다.
추가로 말씀하신 일반로그인은 spring security랑 별도로 지정되기 때문에 같이 처리되지 않습니다.
이 경우는 expired-url 상에 일반 세션을 말소(invalidate 메소드)하는 URL을 지정하시고 이 URL에서 다시 index.do로 redirect 하시면 되실 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.
max-session 통제가 되려면 web.xml에 다음과 같은 listener 등록이 필요합니다.
<listener>
<listener-class>org.springframework.security.ui.session.HttpSessionEventPublisher</listener-class>
</listener>
세션에 대한 생성, 삭제 등의 세션 관련 이벤트를 처리하는 리스너로 max-session 설정을 제어합니다.
추가로 말씀하신 일반로그인은 spring security랑 별도로 지정되기 때문에 같이 처리되지 않습니다.
이 경우는 expired-url 상에 일반 세션을 말소(invalidate 메소드)하는 URL을 지정하시고 이 URL에서 다시 index.do로 redirect 하시면 되실 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.