@PreAuthorize 를 이용한 인가 구현

Kim Dong Kyun·2022년 12월 27일
4

Today I learned

목록 보기
24/43

개요

스프링 시큐리티를 사용해서 그동안 똥꼬쑈하던 인증과 인가를 쉽게 구현할 수 있다. 그 중에서도 인가 부분을 쉽게 했는데, 리뷰한다.


@PreAuthorize

@PreAuthorize 어노테이션은 인가를 쉽게 해주는 어노테이션이다. 컨트롤러의 특정 매서드 위에 어노테이션을 붙이는 형태로 사용한다. 형식은 아래와 같다.

위와 같이 설정하면, ADMIN 롤을 가진 요청만 위 매서드를 콜 할 수 있다.


@PreAuthorize를 위한 설정

위와 같이 Config부분에 글로벌매서드시큐리티 (prePostEnabled = true) 설정하면 된다.


그러면 인가 실패하면 어떻게돼? 어떻게 핸들하지?

Config쪽에서 위와 같이 accessDeniedHandler를 사용한다. Custom해서 직접 만든 익셉션핸들러 클래스를 사용할 수도 있고, 기본적으로 제공되는 new AccessDeniedHandlerImpl 을 사용할수도 있다.


2개의 댓글

comment-user-thumbnail
2022년 12월 29일

제가 딱 공부하던 부분입니다. 좋은 정리 감사합니다.

1개의 답글