HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🧚
[1기]최종 프로젝트 데브코스
/
📜
[팀13] 사각사각 ✏️
/
🔥
트러블슈팅
/
🔑
토큰 옵셔널 처리
🔑

토큰 옵셔널 처리

 
전코드
@Override public void configure(WebSecurity web) { web.ignoring().antMatchers( GET, this.security .getAllows() .getGet() .toArray(String[]::new) ); web.ignoring().antMatchers( POST, this.security .getAllows() .getPost() .toArray(String[]::new) ); }
현재코드
@Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/users/me").hasAnyRole("USER") .antMatchers("/expulsion").hasAnyRole("ADMIN") .mvcMatchers(HttpMethod.GET, this.security.getAllows().getGet().toArray(String[]::new)) .permitAll() .mvcMatchers(HttpMethod.POST, this.security.getAllows().getPost().toArray(String[]::new)) .permitAll() .anyRequest().fullyAuthenticated() }
 
WebSecurity쪽에 ignoring을 통해서 설정을 한다면 Request 요청이 왔을 때 아예 필터에 걸리지 않는다. 따라서 토큰 필터에 걸리지 않기 때문에 옵셔널 처리가 불가능하다.
 
httpSecurity에 permitAll로 ignoring 한다면, 등록되어 있는 Filter를 다 확인하고 FilterSecurityInterceptor에서 AccessDecisionManager를 통해 Authority 를 확인 후 통과하게 된다. 따라서 토큰 옵셔널 처리가 가능하다.
 
[Spring Security] Spring Security Basic - Ignoring
SpringSecurity를 설정 하고 아무런 셋팅을 하지 않으면 모든 요청에 대해서 인증을 요청하는 설정이 추가가 된다. Web application을 개발하게 되면 js, css 등 static resource에 대해서도 요청이 들어 오게 되는데 static resource들은 인증을 확인하지 않고 무시하는게 서버 리소스를 낭비하지 않는 최고의 방법이다. 어떻게 하면 Request 요청시에 Security 설정을 타지 않고 by pass할 수 있는지에 대해서 알아 보자.
[Spring Security] Spring Security Basic - Ignoring
https://kangwoojin.github.io/programing/spring-security-basic-ignoring/
[Spring Security] Spring Security Basic - Ignoring