권한 부여 구성: 제한 적용
엔드포인트에 따라 권한 부여 제약 조건을 적용하는 방법
MVC 선택기
앤트 선택기
정규식 선택기
8.1. 선택기 메서드로 엔드포인트 선택
5.7 이후로 책 내용은 deprecated 되어 requestMatchers를 사용한다.
anyRequest()가 없이도 동작하지만 명시적으로 적어주는 게 좋다.
선택기로 요청을 참조할 때는 특정한 규칙부터 일반적인 규칙의 순서로 지정해야 한다.
anyRequest()가 requestMatchers() 앞으로 먼저 올 수 없다.
미인증과 인증 실패
anyRerquest().permitAll()로 지정했음에도 요청 시 인증 정보를 담아 보냈다면 프레임워크는 이를 확인해야 하므로 401을 반환한다.
권한 부여 필터보다 인증 필터가 앞에 있기 때문에 권한 필터가 허용하더라도 인증 필터는 권한 부여 필터로 전달하지 않고 401을 보낸다.
8.2. MVC 선택기로 권한을 부여할 요청 선택
Http 메서드를 지정할 수 있다.
경로식
/**
수에 제한없이 나타낼 수 있다.
ex. /a**/c = /a/b/c = /a/b/d/c = /a/b/c/d/e/c
정규식도 사용 가능하다.
8.3. 앤트 선택기로 권한을 부여할 요청 선택
MVC 선택기는 경로 뒤에 /를 추가해도 똑같이 동작한다.
앤트 선택기는 /hello와 /hello/를 다르게 처리한다.
MVC 선택기를 사용해야 경로 매핑과 관련한 위험을 예방할 수 있다.
8.4. 정규식 선택기로 권한을 부여할 요청 선택
어떤 문자열이든지 나타날 수 있으므로 가능성이 무한하다.
읽기 어렵다는 단점이 있다.
Last updated
Was this helpful?