사용자의 아이디와 비밀번호는 AuthenticationManager가 담당한다. 그 객체로 실제로 권한이나 인증을 체크하는
객체는 AuthenticationProvider에서 Override한 Authentication 객체이다.
1) AuthenticationProvider

1) UserDetails user = customUserDetailsService.loadUserByUsername(username);
usernamePasswordAuthenticationFilter를 통해서 얻어온(사용자가 입력한 이름)을 통해 DB조회한다.
2) 마지막에 있는 supports는 그 전에 UsernamePasswordAuthenticationFilter를 통해서 얻어온 값이 유효한
토큰인지 확인하는 것이다.
2) UserDetailService

1) memberMapper를 통해서 사용자를 조회 후 UserDetail에 저장한다.
3) DetailUser

1) 사용자의 이름과 비밀번호를 저장하고 getAuthorities를 통해서 "ROLE_USER" 권한을 획득한다.
→ 필자의 경우는 하지 ROLE_ADMIN과 같은 설정은 하지 않음
'Spring_SpringBoot > 코드' 카테고리의 다른 글
| [ Spring Security 6 ] - 6, SuccessHandler, FailerHandler (0) | 2024.07.07 |
|---|---|
| [ Spring Security 6 ] - 4 , UsernamePasswordAuthenticationFilter (0) | 2024.07.07 |
| [ Spring Security 6 ] - 3 , AccessDeniedHandler, AuthenticationEntryPoint (0) | 2024.07.07 |
| [ Spring Security 6 ] - 2 , SecurityConfig (0) | 2024.07.07 |
| [ Spring Security 6 ] - 1 (0) | 2024.07.07 |