반응형
사용자 정의를 위한 구조
SpringSecurity의 설정을 직접 구현하면 보안관련 설정을 사용자화 할 수 있다. SecurityConfig 객체를 생성하여 WebSecurityConfigurerAdapter 을 상속 받아 configure 메서드를 override 한다.
WebSecurityConfigurerAdapter
스프링 시큐리티의 웹 보안 기능을 초기화하고 설정을 담당하는 클래스이다. 기본적인 보안 기능을 활성화 하고 시스템에 보안 기능이 작동하게 하기 위한 모든 설정을 처리 한다.
HttpSecurity
세부적인 보안 기능을 설정할 수 있는 API를 제공한다.
SecurityConfig
사용자 정의 보안 설정 클래스이다.(정해져있는 클래스명은 아님)
아래의 EnableWebSecurity 어노테이션을 명시하면 기본적인 웹 시큐리티를 활성화 하겠다는 의미이다.
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter { }
Override configure(HttpSecurity http)
WebSecurityConfigurerAdapter Class를 상속 받고 아래 method를 override하여 구현하면 인가와 인증 처리에 대해 사용자가 정의할 수 있다.
@Override
protected void configure(HttpSecurity http) throws Exception { }
아래 configure method는 WebSecurityConfigurerAdapter Class에 기본적으로 설정되어있는것들이다. SecurityConfig Class에 따로 설정해주지 않아도 아래의 설정이 기본적으로 설정된다.
/* spring-security 의존성을 추가하고 root 페이지 요청 시 로그인 폼 페이지가 뜨는 이유
* WebSecurityConfigurerAdapter Class의 configure 함수 때문
* 아래의 설정으로 초기화 되기때문이다.
*/
protected void configure(HttpSecurity http) throws Exception {
this.logger.debug("Using default configure(HttpSecurity). "
+ "If subclassed this will potentially override subclass configure(HttpSecurity).");
http.authorizeRequests((requests) -> requests.anyRequest().authenticated());
http.formLogin();
http.httpBasic();
}
반응형
'Framework > Spring Framework' 카테고리의 다른 글
[Spring Boot] Spring Security 로그아웃 처리 (0) | 2021.05.02 |
---|---|
[Spring Boot] Spring Security 로그인 처리 (0) | 2021.05.02 |
[SpringFramework] RESTFul Web Service Example - GET, POST, PUT, DELETE 예제 (2) | 2018.08.06 |
[SpringFramework] RESTFul Web Service - GET, POST, PUT, DELETE 개념 (0) | 2018.08.06 |
[SpringFramework] RESTful방식의 @RestController 와 @ResponseBody란? (13) | 2018.08.05 |
댓글