본문 바로가기

개인프로젝트

개인프로젝트 9일차

728x90

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)를 설정 해줍니다.

728x90

'개인프로젝트' 카테고리의 다른 글

윈도우에서 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