인증 Authentication
- 아이디, 비밀번호 등으로 자격 증명을 확인하는 일
인가 Authorization
- 보안팀에서 관리하는 설정에 맞게 권한을 허가/거부 하는 것
- 접근 불가 페이지 등
SpringSecurity
- Spring에서 보안을 쉽게 만들기 위해 제공
- DispatcherServlet 이전에 filter단에서 springSecurity가 동작 (FilterChainProxy)
- Form Login 기반 인증은 인증이 필요한 URL 요청이 들어왔을 때 인증이 되지 않았다면 로그인 페이지를 반환
- 인증과정
1. username과 password 제출
2. UsernamePasswordAuthenticationFilter에서 사용자의 정보를 담아서 UsernamePasswordAuthenticationToken을 만들어 AuthenticationManager에게 전달
3. 인증 실패시 SecurityContextHolder을 비움
4. 성공시 SecurityContextHolder에 Authenticaiontion세팅
UserDetails
- 검증된 UserDetails는 SecurityContextHolder에 세팅됨
- userDetailsService로 username/password을 이용하여 사용자를 조회/검증 후 userDetails반환
'Spring' 카테고리의 다른 글
[TIL] 240409 Entity 연간 관계 | 1:1 매핑, 단방향, 양방향 (0) | 2024.04.09 |
---|---|
[TIL] 240408 RestTemplate | NaverOpenApi 검색 (0) | 2024.04.08 |
[TIL] 240405 Bean Validation (0) | 2024.04.05 |
[TIL] 240402 SpringSecurityConfig (0) | 2024.04.03 |
[TIL] 240401 JWT토큰 (0) | 2024.04.03 |