개발공부/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 파일에서 해당 어노테이션을 활성화 시켜줘야 사용할 수 있다.