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