Spring Security

Spring Security - 2.7 이후 SecurityFilterChain

jaewoo 2023. 1. 2. 15:45

기존에는 WebSecurityConfugureAdapter를 상속받아 confugure 메소드를 오버라읻이하는 식으로 시큐리티를 구성했는데 2.7 이후부터는 상속받는 것이 아닌 SecurityFilterChain 을 bean으로 등록하는 형태로 변경되었다.

 

@Configuration
public class ProjectConfig extends WebSecurityConfigureAdapter{
	
    @Override
    protected void configure(HttpSercurity http) throws Exception{
    	
        		http.httpBasic();
                http.authorizeReequests()
                		.anyRequest().authenticated();
                        	
        }

기존에는 이런식으로 구현했었는데 WebSecurityConfigureAdapter가 @Deprecated....

그렇게 바뀐 후 자세한 사용방법은

https://www.baeldung.com/spring-deprecated-websecurityconfigureradapter

 

Spring Security: Upgrading the Deprecated WebSecurityConfigurerAdapter | Baeldung

Learn how to create a Spring Security configuration without using WebSecurityConfigureAdapter

www.baeldung.com

근데 여기서 갑자기 학습용으로 프로젝트를 생성했는데 (boot 3.0.1 기준) 

 

authorizeRequests()가 Deprecated....

대안으로 찾아봤는데 authorizeHttpRequests()가 있었다. 

그리고 antMatchers도 대신 requestMatchers를 사용하면 된다!

https://stackoverflow.com/questions/74609057/how-to-fix-spring-authorizerequests-is-deprecated

 

How to fix Spring authorizeRequests is deprecated?

Spring is updated, says authorizeRequests is deprecated, antMatchers removed. Can someone show how SpringSecurity should looks like rn? @Configuration @EnableWebSecurity @EnableMethodSecurity(

stackoverflow.com

그렇게 간단하게 Security 설정을 한번 시도해봤다.

http 빨간 줄은 인텔리제이 업데이트를 안해서 그렇다

curl로 요청을 날릴 경우

접근 가능한 걸 알 수 있다.