etc/TIL
authentication.getAuthorities()에서 권한 여부 확인하는 방법
기억용블로그
2022. 5. 19. 23:25
728x90
if (authentication.getAuthorities().contains(new SimpleGrantedAuthority("ROLE_ADMIN"))) {
redirectStrategy.sendRedirect(request, response, "/admin");
}
예를 들어 위와 같이 authorization이 성공한 상황에서 Authentication 객체에서 권한을 가지고 있는지 여부를 알고싶으면 위와 같이 작성한다.
여기서 핵심은 "ROLE_ADMIN"을 contains 하고 있는지 확인하는 것이 아닌
new SimpleGrantedAuthority("ROLE_ADMIN")을 확인하는 것이다.
SimpleGrantedAuthority는 GrantedAuthority의 이미 만들어져 있는 구현체로 String role을 받는 생성자와 String role의 getter가 준비되어있다.