개발공부/spring security & JWT 강의
[5강] 메소드 단위로 권한 설정하기 - @Secured
기억지기 개발자
2023. 9. 21. 22:50
- 이렇게 핑크 박스의 코드처럼 설정해 주면 이 프로젝트 전역에 권한을 설정해 줄 수 있다.
- 그런데 이번 강의에서 배운 내용은 하나의 메소드(요청, url) 단위로 권한을 설정해 줄 수 있는 방법에 대해 알아보았다.
@Secured
@Secured("ROLE_ADMIN")
@GetMapping("/info")
public @ResponseBody String info() {
return "개인정보";
}
- "/info"에 접근하려면 유저의 Authorities이 ROLE_ADMIN이어야 한다.
- 이렇게 함수 단위로 접근할 수 있다.
@PreAuthorize
@PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_MANAGER')")
@GetMapping("/data")
public @ResponseBody String data() {
return "데이터 정보";
}
- 만약에 함수단위로 권한을 제한하고 싶다 + 여러개를 한다면 해당 어노테이션을 사용하면 된다.
config 파일에서 해당 어노테이션을 활성화 시켜줘야 사용할 수 있다.
