2017-10-30 11 views
0

저는 스프링 프로젝트에 대한 계층 적 권한을 사용하여 권한 기반 액세스 제어를 구축하고 있습니다. 이를 위해 GrantedAuthority 개체를 Permission으로 확장합니다. 사용자 지정 PermissionVoter은 단일 사용 권한 부분을 검색 할 수 있으므로 마지막으로 이점을 활용합니다. 예상대로 작동합니다. 유일한 문제는 내 통합 테스트입니다.@WithMockUser : SimpleGrantedAuthority 대신 사용자 지정 GrantedAuthority 클래스를 사용하십시오.

주석을 사용하면 @WithMockUser 보안 컨텍스트를 조롱 할 수 있습니다. 기본적으로이 조롱 방법을 사용하면 SimpleGrantedAuthority이 생성됩니다. 유권자의 Permission 님을 기다리는 중, 분명히 작동하지 않습니다. 내 맞춤형 GrantedAuthority 클래스를 사용하도록 @WithMockUser을 구성 할 수 있습니까?

추신. 나는 시로를 의도적으로 사용하지 않고있다.

답변

1

@WithUserDetails 대신 userDetailsService를 매개 변수로 사용할 수 있습니다. userDetailsServiceBeanName = "mockedUserDetailsService" 및 사용자 ("값")

그러면 사용자와 GrantedAuthorities를 조롱 한 UserDetailsService로 조롱 할 수 있습니다.

+0

감사합니다. 이것이 유일한 방법이라고 생각합니다. –