강의

멘토링

로드맵

Inflearn brand logo image

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

정동희님의 프로필 이미지
정동희

작성한 질문수

스프링 기반 REST API 개발

스프링 시큐리티 기본 설정

Spring 시큐리티 관련해서 WebSecurityConfigurationAdapter

작성

·

26

0

WebSecurityConfigurationAdapter 상속 받아서 작업할려고 했으나 2.1.O 릴리즈 버전에서도 현재는 deprecated 된 상태인데 혹시 그 이후 어떻게 코드를 변경해야하는지 알수 있을까요

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 정동희님.

Spring Security에서 WebSecurityConfigurerAdapter 클래스는 더 이상 사용되지 않으며, 그 대신 SecurityFilterChain을 사용하여 보안 구성을 처리해야 합니다. 이 변화는 Spring Security의 최근 버전에서 나타난 것으로, 보안 구성을 더욱 유연하게 관리할 수 있는 방향으로 전환되고 있습니다.

다음은 SecurityFilterChain을 사용하는 기본 예제입니다:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.web.SecurityFilterChain;

@Configuration
public class SecurityConfig {

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http
            .authorizeRequests(authorize -> authorize
                .antMatchers("/public/**").permitAll()  // 예시로 /public/** 경로는 인증 없이 접근 가능하도록 설정
                .anyRequest().authenticated()  // 그 외의 모든 요청은 인증 필요
            )
            .formLogin()  // 기본 로그인 폼을 사용
            .and()
            .httpBasic();  // HTTP Basic 인증도 활성화

        return http.build();
    }
}

위의 코드에서 HttpSecurity 객체를 사용하여 요청 경로에 따른 접근 제어와 인증 방식을 설정할 수 있습니다. /public/** 경로는 모두에게 열려 있으며, 나머지 모든 요청은 인증이 필요하게 설정되어 있습니다.

관련 질문이 있는 강의 게시판들을 참고해 보시면 도움이 될 수 있습니다:

만약 추가적인 질문이 있다면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

정동희님의 프로필 이미지
정동희

작성한 질문수

질문하기