https://github.com/SilverNine/spring-boot-jwt-tutorial
Spring Boot JWT Tutorial (1) – JWT 소개, 프로젝트 생성
Spring Boot JWT Tutorial (2) – Security 기본 설정, Data 설정
Spring Boot JWT Tutorial (3) – JWT 코드, Security 설정 추가
Spring Boot JWT Tutorial (4) – Repository, 로그인
Spring Boot JWT Tutorial (5) – 회원가입, 권한검증
/api/hello로 접근했을때 401Unauthorized 가 리턴되었던 부분을 해결하기 위해 Security 기본설정을 진행하겠습니다.
우선 config 패키지를 만들고 SecurityConfig.java 파일을 생성합니다.
package me.silvernine.tutorial.config;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/api/hello").permitAll()
.anyRequest().authenticated();
}
}
@EnableWebSecurity 는 기본적인 Web 보안을 활성화 하겠다는 어노테이션이고, 추가적인 설정을 위해서 WebSecurityConfigurer을 implements하거나 WebSecurityConfigurerAdapter를 extends하는 방법이 있습니다.
여기서는 WebSecurityConfigurerAdapter을 extends하여 설정을 진행했습니다.
configure 메소드를 오버라이드하여 /api/hello에 대한 접근이 인증없이 접근될 수 있도록 허용합니다.