현재 액티브 세션 여부에 따라 스프링 보안/스프링 세션에서 권한을 부여하는 간단한 방법이 있습니까? 내가 뭘하고 싶은건 ADMIN 권한을 한 번에 하나의 활성 세션으로 제한하는 것입니다. 예를 들어액티브 세션 기반의 스프링 보안 권한 부여
:
- 사용자 A와 사용자 B 모두 잠재적으로 부여 할 수 ADMIN 권한. 사용자 A의 세션이 여전히 활성화되어있는 동안
- 사용자 A 로그에.
- 에 권한 ADMIN에게
- 사용자 B 로그를 세션을 만들고 부여합니다. 다른 세션이 활성없는 경우에 사용자 B 로그, 권한 ADMIN을 부여하면
- 권한 사용자
를 세션을 만들고 부여합니다. 사용자 A와 연관된 활성 세션이 이미있을 때 사용자 A가 다시 로그인하면 권한 USER를 새 세션에 연관시킵니다 (사용자 ADMIN은 사용자 A의 '이전'세션과 연관되어 있음).
['getAllPrincipals' 연산이 지원되지 않기 때문에] Spring 세션에서'SessionRegistry'를 지원하지 않습니다 (https://github.com/spring-projects/spring-session/blob/master/spring-session/). src/main/java/org/springframework/session/security/SpringSessionBackedSessionRegistry.java # L55-L58). –