Spring Security를 사용하는 Spring 애플리케이션이 있습니다. 있는 사용자 ADMIN
역할은 시스템에 등록 된 모든 사용자의 목록을 볼 수 있으며 (시스템 사용 규정 및 조건을 위반하는 경우, 예를 들어) 사용자를 비활성화 (정지) 할 수 있습니다. 이렇게 비활성화 된 사용자가 로그인을 시도하면 사용자 계정이 비활성화 되었기 때문에 로그인이 거부됩니다.
그러나 이렇게 비활성화 된 사용자가 사용자 계정이 비활성화 된 시점에 로그인 된 경우 로그 아웃하거나 세션 시간이 초과 될 때까지 시스템을 계속 사용합니다.
관리자가 사용자 계정을 비활성화하면 계정이 비활성화 된 사용자는 계정 비활성화시 로그인 한 경우에도 시스템을 더 이상 사용할 수 없어야합니다.
Spring Security로 이것을 달성하는 방법이 있습니까?
if (user.isDisabled ()) {
주체 목록 = sessionRegistry.getAllPrincipals (); for (객체 주체 : 주체) {
AuthenticatedUser 사용자 = (AuthenticatedUser) 주체;
String username= users.getUsername();
List<SessionInformation> sessionInformations = sessionRegistry.getAllSessions(users, false);
for(SessionInformation information : sessionInformations){
if(username.equalsIgnoreCase(user.getUserName())) {
information.expireNow();
}
}
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다