인프런 커뮤니티 질문&답변

김지훈님의 프로필 이미지
김지훈

작성한 질문수

스프링 시큐리티

@Controller permitAll() 적용방법

작성

·

705

0

@RestController에 매핑된 경로들은 permitAll()이 적용되었지만 @Controller에서 매핑한 경로들은 permitAll() 적용이 되지 않습니다. 자료를 아무리 찾아봐도 알 수 없어서 혹시나 도움이 될까 하는 마음에 글 적어봅니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
김지훈님, @Controller에 매핑된 경로에 permitAll()을 적용하시려면 WebSecurityConfigurerAdapter를 상속받은 설정 클래스에서 configure(HttpSecurity http) 메소드를 오버라이드하여 http.authorizeRequests() 메소드 체인을 사용하셔야 합니다. 예를 들어서, 모든 사용자에게 접근을 허용하고 싶은 특정 경로가 있다면 다음과 같은 설정을 추가하실 수 있습니다.

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        .authorizeRequests()
            .antMatchers("/특정경로/**").permitAll()
            .anyRequest().authenticated()
        // ...
}

이 설정에 따라, /특정경로/**로 시작하는 모든 경로는 인증을 요구하지 않고 누구나 접근할 수 있게 됩니다. permitAll()은 특정 요청에 대해서 보안 검사 없이 접근을 허용하도록 설정하는 메소드입니다.

추가적으로, 스프링 부트와 스프링 시큐리티에 대한 더 자세한 정보를 원하시면 Spring Boot Reference Documentation을 참고하시면 도움이 될 것입니다.

김지훈님의 프로필 이미지
김지훈
질문자

제가 사용하는 spring security는 6.1.0 버전으로 WebSecurityConfigurerAdapter는 deprecaterd된 것으로 알고 있습니다. 그래서 WebSecurityConfigurerAdapter가 아닌 SecurityFilterChain으로 사용해야 된다고 API에 기재되어있습니다.

김지훈님의 프로필 이미지
김지훈
질문자

spring security 6.1.0버전에서 SecurityFilterChain안에 permitAll을 사용하려면 어떠한 방법을 써야 하는지 아실까요?

김지훈님의 프로필 이미지
김지훈

작성한 질문수

질문하기