Spring Security
Spring기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임 워크
'인증'과 '권한'에 대한 부분을 Filter 흐름에 따라 처리
Authorization(인증)과 Authentication(인가)
인증: 해당 사용자가 본인이 맞는지를 확인하는 절차
인가: 인증된 사용자가 요청한 자원에 접근 가능한지를 결정하는 절차
" 인증 성공 후 인가"
Principal(접근주체, 아이디): 보호받는 Resource에 접근하는 대상
Credential(비밀번호): Resource에 접근하는 대상의 비밀번호
" Credential 기반의 인증방식"
주요 모듈
[SecurityContextHolder] : 보안 주체의 세부 정보를 포함하여 응용프로그램의 현재 보안 컨텍스트에 대한 세부 정보가 저장된다.
[SecurityContext] : Authentication을 보관하는 역할
[Authentication] : 현재 접근하는 주체의 정보와 권한을 담는 인터페이스
[UsernamePasswordAuthenticationToken] : Authentication을 implements한 AbstractAuthenticationToken의 하위 클래스(user의 id = principal, password = credential)
[AuthenticationProvider] : 실제 인증에 대한 부분을 처리
[Authentication Manager] : 인증에 대한 부분을 처리
[UserDetails] : 인증에 성공하여 생성된 객체, UsernamePasswordAuthenticationToken을 생성하기위해 사용
[UserDetailsService] : UserDetails 객체를 반환(DB와 연결해 처리)
[Password Encoding] : 패스워드 암호화에 사용될 PasswordEncoder 정의
[GrantedAuthority] : 현재 사용자(principal)가 가지고 있는 권한(ROLE_ADMIN)
참고) https://mangkyu.tistory.com/76
'Web > Spring' 카테고리의 다른 글
[배경] Maven (0) | 2021.07.27 |
---|---|
[배경] Template Engine (0) | 2021.07.27 |
[배경] Spring 실행 순서 (0) | 2021.07.27 |
[배경] MVC Pattern (0) | 2021.07.27 |
[배경] Servlet (0) | 2021.07.27 |