스프링 시큐리티의 인가 및 설정을 담당하는 클래스이다. Security Config 구현은 스프링 시큐리티의 세부 버전별로 많이 상이합니다. (이번 시리즈는 스프링 시큐리티 6.2.1 버전으로 구현합니다.)
시큐리티 JWT 구현을 위한 Config 클래스의 일부분을 작성할 예정입니다. 먼저 기본적인 설정만 진행하고 시리즈를 진행하며 커스텀 필터 요소들을 추가 구현할 예정입니다.
//csrf disable
http
.csrf((auth) -> auth.disable());
...
//세션을 STATELESS로 설정
http
.sessionManagement((session) -> session
.sessionCreationPolicy(SessionCreationPolicy.STATELESS));
//From 로그인 방식 disable
http
.formLogin((auth) -> auth.disable());
//http basic 인증 방식 disable
http
.httpBasic((auth) -> auth.disable());
//경로별 인가 작업
http
.authorizeHttpRequests((auth) -> auth
.requestMatchers("/login", "/", "/join").permitAll() // 모두 허용
.requestMatchers("/admin").hasRole("ADMIN")
.anyRequest().authenticated()); // 로그인한 사용자만
SecurityConfig 를 사용하기 전

로그인을 하지 않아 401 Unauthorized 가 뜸
SecurityConfig 생성 후

성공적으로 응답