Spring Security 구조!! 중요!!
자세한 내용은 아래 블로그 참조
https://velog.io/@dnjscksdn98/Spring-Spring-Security%EB%9E%80
인증 과 인가
1. 인증(Authentication) : 해당 사용자가 본인이 맞는지를 확인하는 절차.
2. 인가(Authorization) : 인증된 사용자가 요청된 자원에 접근가능한지를 결정하는 절차.
즉 사용자 본인이 맞는지 확인 후 요청자원에 접근 가능하는지를 결정한다.
doFilterInternal부분을 이해해보자!!
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException
1. principal : 아이디
2. credential : 비밀번호
SecurityContextHolder -> securityContext -> Authentication(principal, credential)
1. username과 password를 조합해서 UsernamePasswordAuthenticationToken 인스턴스를 만듭니다.
2. 이 토큰(UsernamePasswordAuthenticationToken)은 검증을 위해 AuthenticationManager의 인스턴스로 전달됩니다.
3. AuthenticationManager는 인증에 성공하면 Authentication 인스턴스를 리턴합니다.
4. 이 authentication을 SecurityContextHolder.getContext().setAuthentication(authentication)를 설정 해줍니다.
'개인프로젝트' 카테고리의 다른 글
윈도우에서 kafka 실행방법 (0) | 2023.04.06 |
---|---|
개인프로젝트 10일차 (0) | 2023.03.24 |
개인프로젝트 8일차 (0) | 2023.03.23 |
개인프로젝트 7일차 (0) | 2023.03.22 |
개인프로젝트 6일차 (0) | 2023.03.21 |