개발자의 자기계발 블로그( ੭ ・ᴗ・ )੭
[Spring Security] antMatchers, requestMatchers, mvcMatchers 본문
antMatchers, mvcMatchers, requestMatchers 는 URL 패턴을 기반으로 요청을 보안 규칙에 매칭시키는 메서드이다
- antMatchers
antMatchers 메서드는 Apache Ant 스타일의 패턴 매칭을 사용하여 요청 경로를 비교한다.
즉, 경로에 대한 패턴을 지정하여 해당 패턴에 일치하는 요청을 처리할 수 있음.
주로 정적인 URL 패턴에 대해 매칭하는데 사용됨.
http.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.antMatchers("/user/**").hasRole("USER")
.anyRequest().authenticated();
- mvcMatchers
mvcMatcher 메서드는 Spring MVC패턴을 사용하여 요청을 매칭한다.
Spring MVC 컨트롤러에 매핑되는 URL 패턴과 유사하게 동작함.
antMatchers와 비슷하지만, 스프링 MVC의 패턴 기능을 더 많이 활용할 수 있어 특정 HTTP 메서드에 대한 접근을 제한하고 싶을 때 유용하다.
- requestMatchers
requestMatachers 메서드는 요청 매처(request matcher)를 사용하여 요청을 매칭함.
좀 더 유연한 매칭이 가능
특정한 http 메서드 (GET, POST 등)나 특정한 요청 파라미터 등을 고려하여 매칭할 수 있음
이 메서드는 HttpServletRequestMatcher 객체를 인자로 받는다.
결론 >> antMatchers와 유사하지만, 좀 더 세밀한 제어가 필요한 경우 mvcMatchers와 requestMatchers 가 더 유용함.
특정한 요청 타입에 대한 보안 설정이 필요한 경우 mvcMatchers, requestMatchers를 사용함!
requestMatchers(HttpMethod.GET, "/member/")
mvcMatchers(HttpMethod.POST, "/api/posts")authenticated()와 같이 사용 가능 -> http 메소드를 지정해야 하는 경우 유용
'Spring' 카테고리의 다른 글
Lombok 자주 사용되는 어노테이션 정리 (0) | 2024.04.22 |
---|---|
[Spring] DAO, DTO, VO 설명 (0) | 2024.04.22 |