스프링 시큐리티 _요청 가로채기
요청 가로채기
각 요청에 대해서 보안 수준을 잘 조절하기 위한 키는 WebSecurityConfigurerAdapter의 configure(HttpSecurity) 메소드 오버라이딩 이다.
다른 URL 패스들에 대해 선택적으로 보안을 적용하기 위한 configure(HttpSecurity)의 오버라이딩
configure() 메소드로 전달되는 HttpSecurity 객체는 몇 가지 HTTP 보안의 관점을 설정하기 위해 사용된다.
여기서는 우선 authorizeRequest()를 호출하고, 다음에 반환되는 객체로 호출되는 메소드들은 요청 보안 수준의 세부적인 설정을 나타낸다.
첫 번째로 호출되는 antMatchers()는 패스가 /spitters/me인 요청은 인증되어야 함을 명시한다.
두 번째 antMatchers()는 더 상세하게 모든 /spittles에 대한 HTTP POST 요청이 인증되어야 함을 말해 준다.
마지막으로 anyRequests()의 호출은 다른 모든 요청들을 인증이나 권한 없이 허용한다.
패스에 보안을 적용하기 위한 메소드
메소드 |
동작 |
access(String) |
주어진 SpEL 표현식의 평가 결과가 true이면 접근을 허용 |
anonymous() |
익명의 사용자의 접근을 허용 |
authenticated() |
인증된 사용자의 접근을 허용 |
denyAll() |
무조건 접근을 허용하지 않음 |
fullyAuthenticated() |
사용자가 완전히 인증되면 접근을 허용(기억되지 않음) |
hasAnyAuthority(String...) |
사용자가 주어진 권한 중 어떤 것이라도 있다면 접근을 허용 |
hasAnyRole(String...) |
사용자가 주어진 역할 중 어떤 것이라도 있다면 접근을 허용 |
hasAuthority(String) |
사용자가 주어진 권한이 있다면 접근을 허용 |
hasIpAddress(String) |
주어진 IP로부터 요청이 왔다면 접근을 허용 |
hasRole(String) |
사용자가 주어진 역할이 있다면 접근을 허용 |
not() |
다른 접근 방식의 효과를 무효화 |
permitAll() |
무조건 접근을 허용 |
rememberMe() |
기억하기를 통해 인증된 사용자의 접근을 허용 |