스프링 시큐리티를 이용해서 로그아웃 처리를 하고 싶습니다.
- 작성자 :
- 박*진
- 작성일 :
- 2014-09-23 11:10:40
- 조회수 :
- 1,330
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
제목 처럼 스프링 시큐리티를 이용해서 로그아웃 처리를 하고 싶습니다.
사용자 로그아웃시 DB에 상태 정보를 입력하는 것은 일반적인 로그아웃 버튼을 클릭해서 잘 처리가 됩니다.
문제는 사용자가 로그아웃 버튼을 클릭하지 않고 창을 강제 종료
alt+f4 또는 창닫기 등 예상하지 않은 경로로 로그아웃을 했을때 상태 정보를
어떻게 db에 저장할 수 있을까요?
사용자 로그아웃시 DB에 상태 정보를 입력하는 것은 일반적인 로그아웃 버튼을 클릭해서 잘 처리가 됩니다.
문제는 사용자가 로그아웃 버튼을 클릭하지 않고 창을 강제 종료
alt+f4 또는 창닫기 등 예상하지 않은 경로로 로그아웃을 했을때 상태 정보를
어떻게 db에 저장할 수 있을까요?
A
안녕하세요. 박석진님.
말씀하신 처리는 현재 HTTP로 서비스되는 처리 상 connectionless 방식이기 때문에 적용이 어렵습니다.
클라이언트로부터 어떤 요청이 있어야지만 서버 상에서 해당 처리가 진행이 되면, 세션(Spring Security Context 정보도 세션에 보관)의 경우 timeout 지정을 통해 세션 만료 처리를 하고 있습니다.
요청하신 처리를 하기 위해서는 javascript의 body unload 이벤트를 활용하실 수 있는 있으나, 해당 문서 자체가 다른 페이지로 이동 하는 경우에도 호출되기 때문에 frameset을 통해 index 페이지로 지정하시는 것은 가능합니다.
다만, frameset에 따른 단점(팝업 차단 해제 시 원래 페이지 호출이 아닌 index 페이지 호출 등)을 수용하셔야 적용 가능하실 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.
말씀하신 처리는 현재 HTTP로 서비스되는 처리 상 connectionless 방식이기 때문에 적용이 어렵습니다.
클라이언트로부터 어떤 요청이 있어야지만 서버 상에서 해당 처리가 진행이 되면, 세션(Spring Security Context 정보도 세션에 보관)의 경우 timeout 지정을 통해 세션 만료 처리를 하고 있습니다.
요청하신 처리를 하기 위해서는 javascript의 body unload 이벤트를 활용하실 수 있는 있으나, 해당 문서 자체가 다른 페이지로 이동 하는 경우에도 호출되기 때문에 frameset을 통해 index 페이지로 지정하시는 것은 가능합니다.
다만, frameset에 따른 단점(팝업 차단 해제 시 원래 페이지 호출이 아닌 index 페이지 호출 등)을 수용하셔야 적용 가능하실 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.