You will be fine

<Spring Security> 1. 기본 설정

by BFine
반응형

출처 : https://inf.run/4Vam

 

스프링 시큐리티 - Spring Boot 기반으로 개발하는 Spring Security - 인프런 | 강의

초급에서 중.고급에 이르기까지 스프링 시큐리티의 기본 개념부터 API 사용법과 내부 아키텍처를 학습하게 되고 이를 바탕으로 실전 프로젝트를 완성해 나감으로써 스프링 시큐리티의 인증과

www.inflearn.com

가. 설정 클래스

 a. Config 설정

  -  starter-security dependency를 추가하면 자동으로 security 설정이 이루어진다.

     => 원하는 보안기능을 사용하기 위해서는 설정 클래스 추가해서 사용해야한다.   

  - 이때 WebSecurityConfigurerAdapter 를 상속받아서 구현한다.

    => 해당 클래스는 웹 보안기능 초기화 및 설정을 담당한다.

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        super.configure(http);
    }
}

  - 세부적인 보안기능은 HttpSecurity 를 사용하여 처리한다.

 b. WebSecurityConfigurerAdapter 

  -  Spring Boot가 로딩 되면서 초기화 과정을 거친다.

 -  http의 API를 이용해서 웹 보안기능을 configuer 형태로 설정하고 있는 것을 알수있다(default 설정)  

 

 c. HttpSecurity

  -  HttpSecurity의 API를 이용하여 다양한 보안 정책을 설정할 수 있다.

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf(); // CSRF 설정
        http.addFilter(); // Servlet 필터 추가
        http.formLogin(); // fromLogin 방식 사용
        http.authorizeRequests()
                .antMatchers("/main").permitAll(); //API 접근권한 부여
        http.exceptionHandling(); // Exception 핸들링 적용
        http.authenticationProvider(); // authenticationProvider 설정
        http.oauth2Login(); // oauth2 로그인 설정
        http.rememberMe(); // rememberMe 설정
        // 등등 다양한 API들이 존재함
    }
}
반응형

블로그의 정보

57개월 BackEnd

BFine

활동하기