TIL

2023.12.06 TIL - 스프링 시큐리티 RequestMatchers

  • 오늘 한 것
    • 팀 프로젝트

팀 프로젝트

오늘은 어제 작성한 일정대로 시큐리티 인증/인가, 로그인, 회원가입을 구현했다.

전 프로젝트 때도 맡았던 역할이라 구현하는데 어려움은 없었지만 코드 병합 후 다른 팀원이

사용하면서 문제가 하나 발생했다.

 

시큐리티에서 url 을 검사하는 requestMathcers 에 내가 사용하는 api 만등록을 해두었었다.

.requestMatchers(PathRequest.toStaticResources().atCommonLocations()).permitAll()
.requestMatchers(PathRequest.toH2Console()).permitAll()
.requestMatchers(this.whiteListMapToMvcRequestMatchers(mvc)).permitAll() //허용 url 리스트
.requestMatchers("/api/auth/**").permitAll()

 

팀원들의 api 별로 어떤 권한을 가지는지 인증이 필요한지에 대해 몰라서 추가를 안해뒀었고,

추가를 안해두면 security를 그냥 넘어가는 줄 알았다.

 

하지만 실제로는 팀원들이 api 테스트를 하니 시큐리티에 걸려 403을 응답 받는 것이다.

그래서 우선 다른 모든 reuqest url에 대해서 인증을 받도록 수정하였다.

.anyRequest().authenticated()

 

어느정도 시큐리티에 익숙해졌다고 생각했는데, 아직 멀었나보다

한번 제대로 디버깅 해보면서 따라가봐야겠다.

 

728x90