Corgi 스프링 시큐리티에서 @EnableWebSecurity 어노테이션의 활용 방법과 기능
본문 바로가기
코딩/스프링(Spring)

스프링 시큐리티에서 @EnableWebSecurity 어노테이션의 활용 방법과 기능

by 짱아아빠 2023. 6. 16.
반응형

안녕하세요! 이번에는 스프링 시큐리티에서 자주 사용되는 `@EnableWebSecurity` 어노테이션에 대해 알아보겠습니다. `@EnableWebSecurity` 어노테이션은 스프링 시큐리티를 활성화하고 웹 보안 설정을 구성하는 데 사용됩니다.

1. `@EnableWebSecurity` 어노테이션의 역할
   - `@EnableWebSecurity` 어노테이션은 스프링 시큐리티를 활성화하고 웹 보안 설정을 구성하는 데 사용됩니다.
   - 이 어노테이션은 `WebSecurityConfigurerAdapter` 클래스를 상속한 구성 클래스에서 사용됩니다.

2. `@EnableWebSecurity` 어노테이션의 활용 방법
   - `@EnableWebSecurity` 어노테이션은 구성 클래스에 추가됩니다. 보통 `@Configuration` 어노테이션이 함께 사용됩니다.
   - 스프링 시큐리티의 설정을 정의한 구성 클래스에서 `@EnableWebSecurity` 어노테이션을 선언합니다.
   - `@EnableWebSecurity` 어노테이션은 자동으로 스프링 시큐리티 필터 체인을 생성하고 웹 보안을 활성화합니다.

3. `@EnableWebSecurity` 어노테이션의 기능
   - 웹 보안 활성화: `@EnableWebSecurity` 어노테이션은 웹 보안 설정을 활성화합니다. 스프링 시큐리티의 필터 체인이 동작하여 요청을 인가하고 인증합니다.
   - 스프링 시큐리티 구성: `@EnableWebSecurity` 어노테이션은 스프링 시큐리티 구성을 위한 `WebSecurityConfigurer` 빈을 생성합니다. 구성 클래스에서 `configure()` 메서드를 오버라이딩하여 웹 보안 설정을 구성할 수 있습니다.
   - 다양한 보안 기능 추가: `@EnableWebSecurity` 어노테이션은 스프링 시큐리티에서 제공하는 다양한 보안 기능을 활성화할 수 있습니다. 예를 들어, 폼 기반 인증, 로그인 페이지 구성, 권한 설정 등을 사용할 수 있습니다.

 

반응형


4. 사용 예시
   - 예를 들어, `SecurityConfig`라는 구성 클래스에 `@EnableWebSecurity` 어노테이션을 추가하여 웹 보안을 활성화하고 설정을 구성할 수 있습니다

     @Configuration
     @EnableWebSecurity
     public class SecurityConfig extends WebSecurityConfigurerAdapter {
         @Override
         protected void configure(HttpSecurity http) throws Exception {
             http
                 .authorizeRequests()
                     .antMatchers("/public/**").permitAll()
                     .anyRequest().authenticated()
                 .and()
                     .formLogin()
                 .and()
                     .logout();
         }
     }


     위의 예시에서는 `/public` 경로에 대한 접근은 인증 없이 허용하고, 그 외의 모든 요청은 인증을 필요로 합니다.

위의 내용을 참고하여 `@EnableWebSecurity` 어노테이션의 활용 방법을 구현해보세요. 이를 통해 스프링 시큐리티를 활성화하고 웹 보안 설정을 유연하게 구성할 수 있습니다.

반응형

댓글