역할 계층을 정의하는 것이 ">"할당의 이상한 .xml 표기법이라고 생각합니다. 데이터베이스 정의 된 역할 계층 구조에서 RoleHierarchy 개체를 만드는 방법이 있어야합니다.스프링 보안의 동적 역할 계층 구조
내가 열이있는 테이블 생각하고는 :
- 는
- 는
정의를 child_role_id ROLE_ID 대다 역할과 역할 사이의 관계는 말 : 어떤 역할이있다 어느 아이들? 나는 ADMIN> USER, USER> VISITOR. xml 파일에서 계층 구조가 설정되는 방식대로 부모보다 자녀를 더 좋아할 것이라고 생각합니다.
(그런데 이것은 표준 구현이 또한 ADMIN> USER 방문자 의미 USER 및 참관 등을 지원하는 경우 나 "같은 수준의"있다 궁금합니다.)을 지금은
를 호출 할 경우roleHierarchy.getReachableGrantedAuthorities(authentication.getAuthorities()));
RoleHierarchy 구현 개체가 필요합니다. spring-security는 하나를 제공하지만 setter는이 이상한 문자열 표현만을 허용합니다. 데이터베이스 결과를 문자열 표현으로 변환하고 싶지 않고 일종의 트리 구조로 작업하고 싶습니다.
그래서 유일한 방법은 구현을 확장하고 rolesReachableInOneStepMap
및 rolesReachableInOneOrMoreStepMap
을 구축하기 위해 내 데이터베이스 결과 세트로 작업 할 내 자신의 설정기를 작성하는 것 같습니다.
다른 솔루션을 아는 사람이 있습니까?
포인터 또는 확인해 주셔서 감사합니다! n은 자기 Role
및 Role
사이의 관계를 참조 :
Spring의 구현을 확장하고 사용자 정의 작성기를 작성하는 데있어서 문제점은 무엇입니까? 나는 아무 것도 볼 수 없다. – bluefoot
그래, 나는 내 자신의 RoleHierarchy 버전을 구현했다. 그러나 나는이 이상한 문자열 포맷에 대해 궁금해하고있다. 그냥 대안이 없다고 생각합니다. – Pete
조금 늦었지만, 궁금한 점은 봄 보안 4.0.0에서 작동합니다. 즉 A> B, A> C – allancth