String Security
HTTP Basic, 아키텍쳐, UserDetailsService, PasswordEncoder
HTTP Basic 인증
- 기본적인 스프링 시큐리티 인증 방식
- 아이디와 비밀번호를 요청 헤더에 담아 Base64로 인코딩
- Key : Authorization
- Value : 아이디, 비밀번호 인코딩된 값
아키텍쳐
인증 필터
클라이언트가 전달한 인증 요청을 가지고 와 인증 관리자에게 전달
보안 컨텍스트
인증이 완료된 엔터티에 대한 세부 정보가 컨텍스트에 저장되어 인증 데이터를 유지
인증 관리자
전달 받은 요청을 인증 논리를 구현한 인증 공급자를 통해 인증 여부 확인
인증 공급자
사용자 세부 정보 및 암호 인코더를 활용해 인증 논리를 구현해 인증 처리를 진행
사용자 세부 정보 서비스(UserDetailService)
요청으로 들어온 사용자를 확인
암호 인코더(PasswordEncoder)
요청으로 들어온 암호에 대해서 검증
UserDetailService
사용자에 대한 정보를 관리
- 기본 구현체는 내부 메모리에 기본 자격 증명을 등록 (사용자 이름 : user)
- 스프링 컨텍스트가 로드 될 때, 자동으로 생성
PasswordEncoder
- 요청이 들어온 암호를 인코딩
- 암호가 기존 인코딩과 일치하는지 확인