작성
·
336
0
안녕하세요.
현재 지금 스프링 부트 2.6.14로 작성중에 궁금한 점이 있습니다.
@Secured와 같은 메서드 방식에서 RoleHierarchy가 그대로 적용 되는지 궁금해서 질문드립니다.
혼자서 테스트 할때 ROLE_ADMIN > ROLE_MANAGER > ROLE_USER 구조로 RoleHierarchy를 구성하고 ROLE_ADMIN 권한을 지닌 아이디로 @Secured("ROLE_USER") 메서드를 호출하는데 인가가 안되는데 원래 안되는 것인지 아니면 되는 방향이 있는지 궁금하여 질문드리겠습니다.
감사합니다.
답변 1
0
먼저 답변이 늦어 죄송합니다
RoleHierarchy 는 일반적인 RoleVoter 가 아닌 계층적 권한이 적용된 RoleVoter 로 구성되어 있습니다. 그렇기 때문에 @Secured("ROLE_USER") 도 결국 유저 권한을 체크하는 원리나 흐름은 동일하기 때문에 계층적 권한이 적용되어야 하는데 인가가 정상적으로 작동하지 않는다면 RoleHierarchy 가 제대로 설정되어 있는지를 확인해 봐야 하고 디버깅을 통해 실제 권한 체크를 하는 지점에서 RoleHierarchy 기준의 RoleVoter 가 작동하고 있는지를 확인해 봐야 할 것 같습니다.
혹 소스 공유가 가능하시면 제가 테스트 해 보도록 하겠습니다.