호비시의 끄적끄적
Spring Security 본문
Spring Security 인증과 인가
인증 : 사용자가 본인이 맞는지 확인하는 절차
인가 : 인증된 사용자가 요청한 자원에 접근권한 여부를 판단하는 절차
Security 인증 방식
- credential : 아이디 + 비밀번호를 이용
- principal : 아이디
Security 의 주요 모듈
- SecurityContext : Authentication를 가지고 있고 SecurityContextHolder에 담아 보관한다.
Security 인증 과정
- 클라이언트가 아이디 비밀번호로 로그인 요청
- AuthenticationFilter에서 UsernamePasswordAuthenticationToken을 생성하여 AuthenticationManager에 전달
- AuthenticationManager는 AuthenticationProvider을 조회하여 인증 요구
- AuthenticationProvider는 UserDetailsService를 통해 사용자 정보를 db에서 조회
- 입력받은 비밀번호를 암호화하여 DB의 비밀번호와 매칭되는 경우 인증이 성공된 UsernameAuthenticationToken을 생성하여, AuthenticaionManager로 반환
- AuthenticaionManager 는 UsernameAuthenticaionToken 을 AuthenticaionFilter로 전달
- AuthenticationFilter 는 전달받은 UsernameAuthenticationToken 을 LoginSuccessHandler로 전송
- Token 을 response 헤더에 추가하여 반환
'Back > Spring' 카테고리의 다른 글
Singleton Pattern (0) | 2022.07.17 |
---|---|
Java Static, Final (0) | 2022.07.14 |
Stream (0) | 2022.07.03 |
Lombok ? (0) | 2022.06.28 |
POJO 란? (0) | 2022.06.23 |
Comments