스프링 시큐리티를 사용해서 그동안 똥꼬쑈하던 인증과 인가를 쉽게 구현할 수 있다. 그 중에서도 인가 부분을 쉽게 했는데, 리뷰한다.
@PreAuthorize 어노테이션은 인가를 쉽게 해주는 어노테이션이다. 컨트롤러의 특정 매서드 위에 어노테이션을 붙이는 형태로 사용한다. 형식은 아래와 같다.
위와 같이 설정하면, ADMIN 롤을 가진 요청만 위 매서드를 콜 할 수 있다.
위와 같이 Config부분에 글로벌매서드시큐리티 (prePostEnabled = true) 설정하면 된다.
Config쪽에서 위와 같이 accessDeniedHandler를 사용한다. Custom해서 직접 만든 익셉션핸들러 클래스를 사용할 수도 있고, 기본적으로 제공되는 new AccessDeniedHandlerImpl 을 사용할수도 있다.
제가 딱 공부하던 부분입니다. 좋은 정리 감사합니다.