인프런 커뮤니티 질문&답변

유호님의 프로필 이미지
유호

작성한 질문수

스프링 시큐리티

2) AOP Method 기반 DB 연동 - 주요 아키텍처 이해

Method방식의 인가에서 궁금증이 있습니다.

작성

·

330

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 가 작동하고 있는지를 확인해 봐야 할 것 같습니다.

혹 소스 공유가 가능하시면 제가 테스트 해 보도록 하겠습니다.

유호님의 프로필 이미지
유호

작성한 질문수

질문하기