[SPRING] 봄 보안으로 로그인 한 모든 사용자를 어떻게 로그 아웃합니까?
SPRING봄 보안으로 로그인 한 모든 사용자를 어떻게 로그 아웃합니까?
프로그래밍 방식으로 로그인 한 모든 사용자를 로그 아웃 할 수 있기를 원합니다. 어떤 이벤트에서 모든 사용자를 강제로 로그 아웃 하시겠습니까?
해결법
-
==============================
1.먼저 web.xml에 HttpSessionEventPublisher를 정의하십시오.
먼저 web.xml에 HttpSessionEventPublisher를 정의하십시오.
<listener> <listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class> </listener>
그런 다음 spring security.xml 파일에
를 정의하십시오. 이제 컨트롤러 메서드에서 SessionRegistry를 사용하여 모든 세션을 무효화하십시오. 아래 코드는 모든 활성 세션을 검색합니다.
List<SessionInformation> activeSessions = new ArrayList<SessionInformation>(); for (Object principal : sessionRegistry.getAllPrincipals()) { for (SessionInformation session : sessionRegistry.getAllSessions(principal, false)) { activeSessions.add(session); } }
각 활성 세션에서 expireNow () 메서드를 호출하여 만료 또는 무효화 할 수 있습니다.
-
==============================
2.Ketan은 블록에 대해 두 번째를 변경하고 session.expireNow ()를 사용하면 찾고있는 답변을 제공합니다. 대신 activeSessions.add (session); 당신은 만료 된 모든 활성 세션으로 끝날 것입니다.
Ketan은 블록에 대해 두 번째를 변경하고 session.expireNow ()를 사용하면 찾고있는 답변을 제공합니다. 대신 activeSessions.add (session); 당신은 만료 된 모든 활성 세션으로 끝날 것입니다.
from https://stackoverflow.com/questions/14751964/how-do-you-log-out-all-logged-in-users-in-spring-security by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Maven 및 Spring 부트 - 해결할 수없는 부모 pom-repo.spring.io (알 수없는 호스트) (0) | 2019.03.19 |
---|---|
[SPRING] Log4j2를 이용한 Spring의 로깅 (0) | 2019.03.19 |
[SPRING] XML없이 Spring을 사용하여 속성을 기반으로 런타임에 여러 서비스를 주입하는 방법 (0) | 2019.03.19 |
[SPRING] 스프링 XML 설정 파일 내에서 문자열을 연결 하시겠습니까? (0) | 2019.03.19 |
[SPRING] Thymeleaf + Spring : 줄 바꿈을 유지하는 방법? (0) | 2019.03.19 |