Authentication 2

3. 인증 관련 구조와 내부 동작

Structure 일단 인증관련 전체적인 구조는 다음과 같다. 1. 필터를 통해 들어온 요청이 아직 인증되지 않은 것이라면 2. 인증을 시작한다. 3. 또는 요청이 AccessDeniedException이라면 접근을 거부한다. 인증 과정을 살펴보자 SecurityContextHolder 사용자 정보인 principal을 Authentication에서 관리하고 Authentication은 SecurityContext가 관리하고 SecurityContext는 SecurityContextHolder가 관리한다. SecurityContextHolder의 주요한 역할은 SecurityContext를 스레드와 연결시켜서 Authentication을 저장하도록 하는것이다. SecurityContextHolder의 T..

SPRING 2023.12.23

1. 인증 방법 - 쿠키,세션,jwt

인증 유저가 서비스의 회원임을 확인하는 것을 인증(Authentication) 이라고 한다. 인증된 유저만이 특정 기능을 사용하도록 하는것을 인가(Authorization) 라고 한다. 유저가 회원가입을하고, 로그인을 해서 자신이 관심있는 회사를 조회한다고 가정해보자. 로그인된 유저만이 관심회사 조회 기능을 쓸수 있다고 한다. 유저를 인증 한 뒤, 해당 기능에 대해 유저를 인가하면 될것같다. 그렇다면 인증을 어떻게 해야할까? 아이디와 비밀번호를 생성해서 디비에 저장하고, 유저가 아이디와 비밀번호를 쳤을때 일치하면 보내주면 되지 않나? 웹 사이트는 HTTP 통신 위에서 동작한다. 따라서 웹 사이트 내의 모든 요청과 응답은 stateless하다. (서버에서 Client의 이전 상태를 기억못함.) -> 반복적..

SPRING 2023.12.23