튜토리얼 코드

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) – 회원가입, 권한검증

Security 기본 설정

/api/hello로 접근했을때 401Unauthorized 가 리턴되었던 부분을 해결하기 위해 Security 기본설정을 진행하겠습니다.

우선 config 패키지를 만들고 SecurityConfig.java 파일을 생성합니다.

7.png

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에 대한 접근이 인증없이 접근될 수 있도록 허용합니다.