본문 바로가기
Spring

[TIL] 240407 SpringSecurity

by studymode 2024. 4. 7.

인증 Authentication

- 아이디, 비밀번호 등으로 자격 증명을 확인하는 일

 

인가 Authorization

- 보안팀에서 관리하는 설정에 맞게 권한을 허가/거부 하는 것

- 접근 불가 페이지 등

 

SpringSecurity

- Spring에서 보안을 쉽게 만들기 위해 제공

- DispatcherServlet 이전에 filter단에서 springSecurity가 동작 (FilterChainProxy)

- Form Login 기반 인증은 인증이 필요한 URL 요청이 들어왔을 때 인증이 되지 않았다면 로그인 페이지를 반환

- 인증과정

   1. username과 password 제출

   2. UsernamePasswordAuthenticationFilter에서 사용자의 정보를 담아서 UsernamePasswordAuthenticationToken을 만들어 AuthenticationManager에게 전달

  3. 인증 실패시 SecurityContextHolder을 비움

  4. 성공시 SecurityContextHolder에 Authenticaiontion세팅

 

Authentication은 SecurityContextHolder안에 위치

 

 

UserDetails

- 검증된 UserDetails는 SecurityContextHolder에 세팅됨

- userDetailsService로 username/password을 이용하여 사용자를 조회/검증 후 userDetails반환

 

Spring Security 인증 순서/방식