SpringbootSecurity

SpringbootSecurity/Security권한처리/@EnableGlobalMethodSecurity처리

25G 2021. 8. 27. 09:22

Security버전 1의 마지막이다.

admin과 

manager의 권한 처리를 해볼 것이다.

관리자와 매니저는 엄연히 다른 권한을 가져야 하기 때문에 일반 유저와 분리가 돼야 한다.

하지만 지금 role이 전부 USER로 잡혀있는 것을 확인할 수 있다.

 

이렇게 인증을 설 정해주면 user로 로그인하면  /user만 들어갈 수 있고 manager로 로그인하면 /manager는 들어갈 수 있는데 인증만으론 갈 수 없는 /admin페이지로는 갈 수 없다.

admin은 권한이 필요하기 때문이다.

admin으로 로그인하면 다 들어갈 수 있다.

admin이 manager도 들어갈수 있는 이유는 or로 잡혀있기때문

 

 

특정 메서드 메서드 하나에만 권한 처리를 하는 방법

특정 메서드 하나만 권한 처리만 하고 싶은 경우에는 @EnableGlobalMethodSecurity를 사용해서 위 설정들을 해주는데

설정들은 해당 어노테이션을 활성화시켜주는 설정이다.(주석 참고)

@PostAuthorize는 함수가 끝나고 난 후에 권한을 처리하는 어노테이션이다. 보통 preAuthorize를 많이 쓴다고 한다.

 

 

https://github.com/fj2008/SpringbootSecurity