Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 스프링 시큐리티
- CS
- CI/CD
- 자바
- spring batch
- 백엔드
- Container
- 컨테이너
- HTTP
- 웹 서버
- computer science
- virtualization
- 도커
- JPA
- spring cloud
- vm
- 스프링 부트
- 스프링 배치
- web server
- ORM
- Spring
- 데이터베이스
- 배포
- 스프링
- spring boot
- 영속성 컨텍스트
- mysql
- Java
- 가상화
- Spring Security
Archives
- Today
- Total
개발 일기
[Spring Security] Spring Security Authentication Architecture 본문
Back-End/Spring
[Spring Security] Spring Security Authentication Architecture
개발 일기장 주인 2024. 5. 3. 00:30Spring Security Authentication Architecture
- HTTP 요청 수신: 사용자가 로그인 정보와 함께 HTTP 인증 요청을 보낸다
- 유저 정보 기반 인증 토큰 생성: AuthenticationFilter가 요청을 가로채고, 사용자가 제공한 정보를 기반으로 UsernamePasswordAuthenticationToken이라는 인증용 객체를 생성한다.
- Filter를 통한 AuthenticationToken 전달: 생성된 AuthenticationToken은 Filter를 통해 AuthenticationManager로 전달된다.
- AuthenticationProvider 목록으로 인증 시도: AuthenticationManager는 등록된 AuthenticationProvider들을 조회하며 인증을 시도한다.
- UserDetailsService의 요구: 인증 시도 중에 실제 사용자 인증 정보를 가져오는 UserDetailsService에 사용자 정보를 전달한다.
- UserDetails를 이용한 사용자 정보 조회: UserDetailsService는 전달받은 사용자 정보를 기반으로 데이터베이스에서 사용자 정보를 조회하여 UserDetails 객체를 생성한다.
- UserDetails를 통한 사용자 정보 비교: AuthenticationProvider들은 전달받은 UserDetails를 사용하여 사용자 정보를 비교하여 인증을 시도한다.
- 인증 객체 반환 또는 AuthenticationException: 인증이 완료되면 사용자의 권한 등을 포함한 Authentication 객체를 반환하거나, 인증에 실패하면 AuthenticationException을 발생시킨다.
- 인증 완료: 최초의 AuthenticationFilter에 인증된 Authentication 객체가 반환된다.
- SecurityContext에 인증 객체 설정: 반환된 Authentication 객체는 SecurityContext에 저장되어 현재 사용자의 인증 상태를 유지한다.
'Back-End > Spring' 카테고리의 다른 글
[Spring Boot] 로깅 레벨(Logging Level) 정리 (0) | 2024.05.27 |
---|---|
[Spring Security] OAuth2.0 + JWT 토큰 기반 인증 인가 (0) | 2024.05.13 |
[Spring Security] SecurityFilterChain 내부 구조 (0) | 2024.05.02 |
[Spring Security] 스프링 시큐리티 - Filter, DelegatingFilterProxy, FilterChainProxy, SecurityFilterChain (1) | 2024.05.02 |
[Spring Boot] 필터(Filter)와 인터셉터(Interceptor) (1) | 2024.05.02 |