Framework & Library/Spring Security
Spring Security - 권한 처리
임빈영
2021. 10. 1. 16:19
애너테이션을 통한 권한 처리
SpringConfig 클래스 수정
@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)
ㆍ SpringConfig 클래스에 위 애너테이션을 추가한다.
ㆍ 위 애너테이션은 @Secured와 @PreAuthorize 애너테이션을 활성화해주는 역할을 한다.
ㆍ 스프링 시큐리티에서는 @Secured와 @PreAuthorize 애너테이션을 통한 권한 처리가 가능한다.
IndexController 클래스 수정
@Secured("ROLE_ADMIN")
@GetMapping("/info")
@ResponseBody
public String info() {
return "개인정보";
}
ㆍ IndexController에 info() 메서드를 추가한다.
ㆍ info() 메서드에 @Secured("ROLE_ADMIN") 애너테이션을 지정함으로써 ROLE_ADMIN 권한을 가진 사용자만 접근이 가능하도록 설정할 수 있다.
@PreAuthorize("hasRole('ROLE_MANAGER') or hasRole('ROLE_ADMIN')")
@GetMapping("/data")
@ResponseBody
public String data() {
return "데이터";
}
ㆍ 다른 방식의 권한 처리로써 @PreAuthorize 애너테이션을 활용할 수 있다.
ㆍ IndexController에 data() 메서드를 추가하고, @PreAuthorize("hasRole('ROLE_MANAGER') or hasRole('ROLE_ADMIN')") 애너테이션을 지정한다.
ㆍ 해당 애너테이션은 ROLE_MANAGER 또는 ROLE_ADMIN 권한을 가진 사용자만 접근이 가능하도록 설정해준다.
GitHub - qlsdud0604/spring-security-basic: 스프링 시큐리티의 기초를 학습하는 공간
스프링 시큐리티의 기초를 학습하는 공간. Contribute to qlsdud0604/spring-security-basic development by creating an account on GitHub.
github.com
728x90