-
spring security 6 - "/**/uri/**" pattern 권한 설정개인 프로젝트/3. simple board 02 2024. 1. 11. 04:46
regexMatcher() 를 사용하는 방법이 있고 , antMatcher()를 사용하는 방법이 있다.
regexMatcher()를 사용하면 queryString까지 필터링 할 수 있다.
security6가 되면서 설정파일을 수정하지 않고 "/**/path/**" 와 같은 패턴을 사용하려면 antMatcher()를 사용하면 되겠다.
아래는 스프링 시큐리티 공식문서의 예시 코드이다.
import static org.springframework.security.web.util.matcher.AntPathRequestMatcher.antMatcher; import static org.springframework.security.web.util.matcher.RegexRequestMatcher.regexMatcher; @Configuration @EnableWebSecurity public class SecurityConfig { @Bean SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests((authz) -> authz .requestMatchers(antMatcher("/user/**")).hasRole("USER") .requestMatchers(antMatcher(HttpMethod.POST, "/user/**")).hasRole("ADMIN") .requestMatchers(regexMatcher(".*\\?x=y")).hasRole("SPECIAL") // matches /any/path?x=y .anyRequest().authenticated() ); return http.build(); } }
'개인 프로젝트 > 3. simple board 02' 카테고리의 다른 글
구현 완료 후 아쉬운 점을 기록하는 중 (0) 2024.01.14 String.format()의 새로운 사용 방법을 발견 (0) 2024.01.11 유저 서버 구현을 (일단)완료했다! (0) 2024.01.10 LocalDateTime 이용, 현재 날짜에서 기준일자 까지 몇일 차이나는지 계산하기 (1) 2024.01.08 (링크) yml 설정파일에서 배열 형태의 값 불러오기 (0) 2024.01.08