Spring Security 권한 확인(HttpSecurity.authorizeHttpRequests())

정민교·2024년 7월 20일
0

spring security

목록 보기
10/13

📒HttpSecurity.authorizeHttpRequests()

spring security는 요청 기반 권한 확인, 메소드 기반 권한 확인을 설정할 수 있다.

✔️요청 기반 권한 확인

요청 기반 권한 확인은 HttpSecurity 인스턴스를 사용하여 권한 규칙을 선언함으로써 적용된다.

@Bean
SecurityFilterChain defaultSecurityFilterChain(HttpSecurity http) throws Exception {
    http.authorizeHttpRequests(authorize -> authorize
        .anyRequest().authenticated());
    
    return http.build();
}

authorizeHttpRequests()를 사용해서 특정 엔드포인트와, 권한을 지정해서 사용자 접근을 제어한다.

특정 엔드포인트와 권한을 매핑시켜, "이 엔드포인트는 인증을 받아야 하며, 인증된 사용자도 어떤 권한을 가진 사람만 볼 수 있다" 등의 형식으로 지정하는 것이다.

authorizeHttpRequests()을 통해 요청 권한 규칙이 설정되면 내부적으로 AuthorizationFilter가 요청의 권한 검사를 수행한다.

요청 엔드포인트를 확인하는 과정은 설정한 순서대로 확인하기 때문에, 상세 엔드포인트를 위로 올리고 넓은 엔드포인트를 아래로 내려 설정해야 한다.

📌AuthorizeHttpRequests() API

requestMatchers()

requestMatchers(String... urlPatterns)
// Ant 패턴 문자열, 정규표현식 사용이 가능하다.
requestMatchers(RequestMatchers... requestMatchers)
// Requestmatcher의 구현체로 AntPathRequestMatcher, MvcRequestMatcher 등의 구현체를 사용한다
requestMatchers(HttpMethod method, String... urlPatterns)
profile
백엔드 개발자

0개의 댓글