이것은 다른 쪽 끝에서 질문에 대한 일종의 오는 것이지만 나는 이것을 찾기 위해 인터넷을 파야했기 때문에 그것을 던질 것이라고 생각했습니다.
역할을 확인하는 방법에 대한 내용은 많지만 hasRole ( "blah")라고 말할 때 실제로 확인하는 내용은별로 없습니다.
HasRole은 현재 인증 된 주체에 대해 부여 된 권한을 확인합니다.
따라서 실제로 hasRole ( "blah") 을 볼 때 실제로 hasAuthority ( "blah")를 의미합니다. 합니다.
내가 본 경우에는 getAuthorities라는 메서드를 정의하는 UserDetails를 구현하는 클래스를 사용하여이를 수행합니다. 여기에 기본적으로new SimpleGrantedAuthority("some name") 일부 논리를 기반으로 목록 를 합니다. 이 목록의 이름은 hasRole 문에서 확인한 것입니다.
이 컨텍스트에서 UserDetails 개체는 현재 인증 된 보안 주체라고 생각합니다. 인증 공급자, 특히이를 가능하게하는 인증 관리자 안팎에서 발생하는 마법이 있습니다.
SecurityContextHolderAwareRequestWrapper인스턴스 가 필요 합니다. 그것을 얻는 방법을 설명하고 답 자체를 조금 더 명확하게 설명하면서 그것을 향상시킬 수 있습니다.