[SPRING] 봄 보안 (3.0.x) 및 사용자 가장
SPRING봄 보안 (3.0.x) 및 사용자 가장
내 웹 응용 프로그램에서 인증 된 관리자가 해당 사용자의 암호를 알지 못해도 시스템의 다른 유효한 사용자로 가장 할 수있는 경우가 있습니다.
Spring Security를 사용하여 관리자 사용자에게 시스템의 일반 (관리자가 아닌) 사용자를 가장하는 기능을 부여하려면 어떻게해야합니까?
Spring Security 문서는 이에 대해 침묵하고 있으며 어디에서도 찾을 수 없다. 확실하게 누군가는 이것을 해결 했음에 틀림 없다.
감사!
해결법
-
==============================
1.Spring Security 3와 Spring Security 4 문서에서 "Run-As Authentication Replacement"라는 이름으로 적절하게 명명되었습니다.
Spring Security 3와 Spring Security 4 문서에서 "Run-As Authentication Replacement"라는 이름으로 적절하게 명명되었습니다.
-
==============================
2.스프링 보안에서 이것을 수행하는 권장 방법은 도메인 액세스 제어 목록과 관련이 있다고 생각합니다 (GrantedAuthority Sid @
스프링 보안에서 이것을 수행하는 권장 방법은 도메인 액세스 제어 목록과 관련이 있다고 생각합니다 (GrantedAuthority Sid @
http://static.springsource.org/spring-security/site/docs/3.1.x/reference/domain-acls.html
그러나 다른 사용자를 가장하는 것은 단순히 "위임 ID"가있는 것 이상이며 로깅에 대한 영향도 고려해야합니다.
또 다른 가능성은 기본적으로 현재 세션의 주체 신원을 변경하거나 가장 된 신원을 사용하여 새 세션을 시작하는 "다음 계정으로 로그인"기능을 만드는 것입니다.
위의 모든 경우에 실수로 보안 문제가 열릴 수 있습니다. 따라서 이것이 가장 일반적인 스타일의 기능이 일반적인 장소가 아닌 이유라고 생각합니다. 오히려 디자인은 역할 기반 액세스 제어 (RBAC) 또는 속성 기반 액세스 제어 (ABAC)로 추세입니다. RBAC / ABAC을 사용하면 대리인 속성 / 역할을 만드는 위임 스타일 기능을 만들 수 있으며 위임의 소스 / 대상 (예 : 감사 로그)을 표시해야하는 특수한 경우에는 위와 같은 경우로 처리 할 수 있습니다 .
-
==============================
3.관리자 사용자가 다른 사용자 (예 : QA / 테스트 목적)로 가장 할 수있게하려면 SwitchUserFilter
관리자 사용자가 다른 사용자 (예 : QA / 테스트 목적)로 가장 할 수있게하려면 SwitchUserFilter
필요한 XML 설정의 예가 여기에 제공됩니다.
from https://stackoverflow.com/questions/6337825/spring-security-3-0-x-and-user-impersonation by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 MVC에서 RESTful 삭제를 처리하는 방법 (0) | 2019.03.21 |
---|---|
[SPRING] context : property-placeholder가 참조를 해석하지 않습니다. (0) | 2019.03.21 |
[SPRING] 스프링 부트 - 오류 처리 (0) | 2019.03.21 |
[SPRING] 자바 8 잭슨 검증 (0) | 2019.03.21 |
[SPRING] 와일드 카드 컨트롤러 경로가있는 동안 정적 컨텐츠를 제공하는 Spring (0) | 2019.03.21 |