스프링 시큐리티.... 설정이 역시나 제일 막히고 어려운 부분인데~ ^^,,
구글에 검색하면 WebSecurityConfigurerAdapter를 extends 해서 사용하는데 스프링 버전이 업데이트 되면서 Deprecated 되었다...
이제부터는 SecurityFilterChain를 Bean으로 등록해서 사용해야한다.
엥? 이게 뭐지?? 했지만,, 무튼 잘 끝냈따 ㅎ
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.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
import org.springframework.security.web.SecurityFilterChain;
@Configuration
@EnableWebSecurity
public class WebSecurityConfig {
@Configuration
public class SecurityConfiguration {
@Bean
public InMemoryUserDetailsManager userDetailsService() {
UserDetails user = User.withDefaultPasswordEncoder()
.username("user")
.password("password")
.roles("ADMIN")
.build();
return new InMemoryUserDetailsManager(user);
}
}
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.cors().and().csrf().disable()
.authorizeRequests()
.antMatchers("/**")
.permitAll()
.anyRequest().authenticated()
.and();
return http.build();
}
}
@Bean 어노테이션을 사용하여 빈으로 등록한 뒤 사용해야 한다...
여기서 andMatchers("/**")은 static 폴더 아래의 각종 js, css 등을 사용하기 위해서 작성해줘야 하는 부분이다.
JWT 나.. 패스워드 인코드나... 이런부분은 아직 담도롱씨가 회원가입을 끝마치지 않았기 때문에 기본 설정만 잡아주기 위해서 시큐리티만 설정 완료!
참고 페이지
https://covenant.tistory.com/277
WebSecurityConfigurerAdapter Deprecated 대응법
WebSecurityConfigurerAdapter란? 스프링 시큐리티를 사용하면 기본적인 시큐리티 설정을 하기 위해서 WebSecurityConfigurerAdapter라는 추상 클래스를 상속하고, configure 메서드를 오버라이드하여 설정하였습
covenant.tistory.com
'프로젝트' 카테고리의 다른 글
SpringBoot로 그룹캘린더 만들기 - Spring Security 로그아웃 구현하기 (0) | 2023.04.25 |
---|---|
SpringBoot로 그룹캘린더 만들기 - Spring Security, OAuth2 사용하기 (네이버, 카카오 회원가입 및 로그인) (0) | 2023.04.24 |
SpringBoot로 그룹캘린더 만들기 - 달력, 달력 상세 일정 추가하기 (feat.Full Calendar, datepicker, timepicker) (0) | 2023.04.11 |
SpringBoot로 그룹캘린더 만들기 - 프로젝트 생성 및 데이터베이스 설정, 깃에 커밋까지 완료 (0) | 2023.04.06 |
SpringBoot로 그룹캘린더 만들기 - 테이블 설계, 역할 분담 (0) | 2023.04.05 |