1. 스프링 시큐리티의 인증 프로세스에 포함된 주 구성 요소와 관계
1) 인증 필터
인증 요청을 인증 관리자에 위임하고 응답을 바탕으로 보안 컨텍스트를 구성한다
2) 인증 관리자
인증 공급자를 이용해 인증을 처리한다
3) 인증 공급자(AuthenticationProvider)
- 인증 논리를 구현한다
- 사용자 관리 책임을 구현하는 사용자 세부 정보 서비스(UserDetailService)를 인증 논리에 이용한다
- 암호 관리를 구현하는 암호 인코더(PasswordEncoder)를 인증 논리에 이용한다
4) 보안 컨텍스트
인증 프로세스 후 인증 데이터를 유지한다
2. UserDetailsService
1) 개념
사용자 이름으로 사용자 세부 정보를 검색하는 객체
2) 하는 일
- 사용자에 관한 세부 정보를 관리
- 인증 공급자는 userDetailsService를 이용해 사용자를 찾고 암호를 확인한다
3) 특징
- 자동으로 구성되는 빈
- 스프링부트가 제공하는 기본 구현은 애플리케이션 내부 메모리에 기본 자격 증명(사용자 이름, 기본 암호)을 등록하는 일만 한다.
- UserDetailsService의 기본 구현을 대체할 때는 PasswordEncoder도 지정해야 한다
- 대부분의 애플리케이션은 요구 사항에 맞게 UserDetailsService를 맞춤 구성한다
3. PasswordEncoder
1) 개념
암호를 암호화 또는 해시하는 방법과 주어진 인코딩된 문자열을 일반 텍스트 암호와 비교하는 방법 지정
2) 하는 일
- 암호 인코딩
- 암호가 기존 인코딩과 일치하는지 확인
3) 특징
- 자동으로 구성되는 빈
- 대부분의 애플리케이션은 요구 사항에 맞게 PasswordEncoder를 맞춤 구성한다
4. AuthenticationProvider
1) 하는 일
- 인증 논리를 정의하고 사용자와 암호의 관리를 위임한다
2) 특징
- AuthenticationProvider의 기본 구현은 UserDetailsService 및 PasswordEncoder에 제공된 기본 구현을 이용
'Spring > security' 카테고리의 다른 글
[시큐리티] 구성 요소 재정의 (0) | 2023.03.10 |
---|---|
[시큐리티] 인증 방법 (0) | 2023.03.10 |
[시큐리티] 스프링 시큐리티 기본 개념 및 보안에 대한 개념 (0) | 2023.03.09 |
[시큐리티] 시큐리티 config 관련 어노테이션 (0) | 2023.03.09 |
[시큐리티] 초기 세팅 (0) | 2023.03.09 |