전포 스팅과 이어서 갑니다.
이번엔 기본적인 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
'SpringbootSecurity' 카테고리의 다른 글
SpringbootSecurity/Springboot로 구글로그인 해보기(1)/구글 로그인 준비(설정) (0) | 2021.08.27 |
---|---|
SpringbootSecurity/Security권한처리/@EnableGlobalMethodSecurity처리 (0) | 2021.08.27 |
SpringbootSecurity/시큐리티 로그인 (0) | 2021.08.25 |
SpringbootSecurity/시큐리티 회원가입 (0) | 2021.08.25 |
SpringBootSecurity/프로젝트 생성 및 mustache템플릿엔진 환경 설정 (0) | 2021.08.24 |