Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발자의 자기계발 블로그( ੭ ・ᴗ・ )੭

[Spring Security] antMatchers, requestMatchers, mvcMatchers 본문

Spring

[Spring Security] antMatchers, requestMatchers, mvcMatchers

쪼사원 2024. 4. 22. 10:29

 

antMatchers, mvcMatchers, requestMatchersURL 패턴을 기반으로 요청을 보안 규칙에 매칭시키는 메서드이다

 

- 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