개발 공부
Spring Security의 구조
이갑돌
2024. 1. 25. 20:23
Spring Security의 구조
- 핵심 구성 요소
- AuthenticationManager: 인증 프로세스를 관리. 이는 Authentication 객체를 받아 유효한지 확인 함.
- Authentication: 사용자의 인증 정보를 나타내는 객체.
- UserDetails: 사용자의 정보를 담고 있는 객체. 사용자의 이름, 패스워드, 권한 등을 포함.
- UserDetailsService: 사용자 정보를 가져오는 인터페이스. 일반적으로 데이터베이스에서 사용자 정보를 조회하는 데 사용.
- 인증 과정 (Authentication Process)
- 사용자가 로그인 정보를 입력.
- AuthenticationManager는 UserDetailsService를 사용하여 사용자의 정보를 조회.
- 조회된 정보와 입력된 정보를 비교하여 인증을 결정.
- 권한 부여 (Authorization)
- 인증된 사용자에 대한 요청은 다양한 AccessDecisionManager를 통해 권한을 확인.
- 사용자의 권한 (예: ROLE_USER, ROLE_ADMIN)에 따라 접근 가능한 리소스가 결정.
- 필터 체인 (Filter Chain)
- Spring Security는 다수의 필터를 사용하여 요청을 처리.
- 이 필터들은 인증, 권한 부여, 요청/응답 처리 등 다양한 보안 관련 작업을 수행.