Spring
[TIL] 240407 SpringSecurity
studymode
2024. 4. 7. 01:55
인증 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반환
