SecurityConfig.java 예시
package com.example.user.global.config;
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.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.web.SecurityFilterChain;
@Configuration
@EnableWebSecurity
public class SecurityConfig {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http
.httpBasic().disable()
.csrf().disable()
.cors()
.and()
.authorizeRequests()
// "/user/login"과 "/user/logout"은 security 적용 X
.antMatchers("/user/login","/user/logout").permitAll()
// "/user/login"은 security 적용
.antMatchers("/user/test").authenticated()
.anyRequest().permitAll()
.and()
.logout().disable()
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.formLogin().disable();
.addFilter(new UsernamePasswordAuthenticationFilter());
return http.build();
}
}