SpringbootSecurity

SpringbootSecurity/security설정

25G 2021. 8. 24. 12:22

전포 스팅과 이어서 갑니다.

이번엔 기본적인 security설정을 해볼 것입니다.

이렇게 컨트롤러를 만들고 테스트를 한번 해 보자

아직 뷰를 만들지 않았기 때문에 responsebody를 붙여서 호출해보면 /login을 호출할 때 SpringSecurity가 낚아 채 버리기 때문에 나중에 수정이 필요할 것 같다.

 

요기서 요점은

admin을 호출할 때는 admin에 대한 권한에 대한사람만 접근하게 하고

manager를 호출할때는 manager에 대한 권한이 있는 사람만 접근하게 하고 싶다

그럴 때 해야 하는 설정이 있다.

antMathcer로 인증이 필요한 uri를 설정할 수 있고

access를 설정하면 인증뿐만 아니라 위와 같이 설정한 권한이 있는 사람만 들어가게 할 수 있다.

. anyRequest(). permitAll()은 위 주소 외에 요청은 다 권한이 허용이 된다.라는 설정이다.

이제 잘 설정됐는지 테스트를 해보자

 

 

이제 security로그인을 하지 않아도 위 설정한 uri 외에 주소는 접근할 수 있게 된다.

또한 위 /login을 때리면 SpringSecurity에 로그인 화면이 아닌 내 프로젝트의 컨트롤러를 때리는 것을 보니 무효화된 것을 알 수 있다.

 

/user를 요청하면 403 응답 코드가 나오는데 403이라는 응답 코드는 권한이 없다는 것을 뜻한다.

이제 login페이지로 이동되도록 해볼 것인데

 

이렇게 설정해주면

해당 프로젝트에 위에서 설정해준 uri를 요청했을 때 권한이 없으면 /login을 응답하도록 할 수 있다.

 

엄청 편하다. 인터셉터 처리보다 훨씬 효율적이고 컨트롤러단에 불필요한 컨트롤러가 많이 사라지도록 설계할 수 있는 것이 엄청 편할 것 같다... 꼭 잘 공부해서 다음 프로젝트가 있다면 security를 사용해서 해보고 싶다.

 

좀 더 많은 설정이 있는데 그 설정들은 차차 추가해 보도록 한다.

 

https://github.com/fj2008/SpringbootSecurity

 

GitHub - fj2008/SpringbootSecurity

Contribute to fj2008/SpringbootSecurity development by creating an account on GitHub.

github.com