반응형
Spring Security에서 사용되는, 두가지 주요 클래스인 WebSecurity와 HttpSecurity를 한번 알아보겠습니다.
WebSecurity
- Spring Security의 보안 설정을 구성하기 위한 클래스입니다.
- 주로 인증과 관련된 설정을 처리하며, 사용자 인증정보를 어떻게 로드하고, 비밀번호 인코딩 방식을 설정하고, 사용자의 권한을 어떻게 확인할지 구성합니다.
- WebSecurityConfigurerAdapter를 확장하여 사용하며, configure(WebSecurity web)메소드를 오버라이드하여 필요한 보안 설정을 추가합니다.
- 주요 메소드
- configure(AuthenticationManagerBuilder auth)
- 사용자 인증을 구성하는 메소드입니다.
- 사용자의 인증정보를 로드하고, 비밀번호 인코딩 방식을 설정하는 등의 작업을 수행합니다.
- configure(AuthenticationManagerBuilder auth)
HttpSecurity
- Spring Security의 HTTP 보안 설정을 구성하기 위한 클래스입니다.
- 주로 URL 패턴에 따라 접근을 제한하거나, 인증 및 인가에 대한 규칙을 설정합니다.
- WebSecurityConfigurerAdapter를 확장하여 사용하며, configure(HttpSecurity http)메소드를 오버라이드하여 필요한 보안정보를 추가합니다.
- 주요 메소드
- authorizeRequests()
- URL 패턴에 따른 접근 권한을 설정하는 메소드입니다.
- 특정 URL 패턴에 대한 접근을 인증된 사용자만 허용하도록 설정할 수 있습니다.
- formLogin()
- 폼 기반 로그인을 활성화하고 로그인 페이지 및 성공/실패 처리 URL을 설정하는 메소드입니다.
- httpBasic()
- HTTP Basic Authentication을 활성화 하는 메소드입니다.
- csrf()
- Cross-Site Request Forgery(CSRF) 공격을 방어하기 위한 설정을 추가하는 메소드입니다.
- logout()
- 로그아웃을 처리하기 위한 설정을 추가하는 메소드 입니다.
- authorizeRequests()
일반적으로 WebSecurity는 사용자의 인증정보를 처리하고, HttpSecurity는 HTTP 요청에 대한 보안 설정을 처리합니다.
반응형
'Spring' 카테고리의 다른 글
Spring Security | AuthenticationEntryPoint 인터페이스 설명 및 BasicAuthenticationEntryPoint 구현체 설명 (0) | 2024.03.13 |
---|---|
Spring Security | 핵심 메소드와 기능 설명 (0) | 2024.03.11 |
Spring Security | Spring Security란? (0) | 2024.03.11 |
SpringBoot | ResponseEntity란? (0) | 2024.03.11 |