유저가 누구인지 확인하는 절차, 회원가입하고 로그인 하는 것들 로그인 과정 3가지1\. 아이디와 비밀번호를 보낸다.2\. 시간제한 있는 임시 아이디를 보낸다3\. 일정 시간 동안 인가에 유효한 정보로 대체한다.(JWT)유저에 대한 권한을 허락하는 것유저가 요청하는 re
request(/logout) 보내면Server에서는 세션 무효화, 인증토큰 삭제, 쿠키정보 삭제, 로그인 페이지로 리다이렉트 해줌LogoutFilter → AntPathRequestMatcher(/logout) 실패시 chain.doFilter → Authentica
익명사용자 인증 처리 필터익명사용자와 인증 사용자를 구분해서 처리하기 위한 용도로 사용화면에서 인증 여부를 구현할때 isAnnonymous() 와 isAuthenticated()로 구분하여 사용인증객체를 세션에 저장하지 않는다.동시세션최대 세션 허용 개수를 설정한다.
모든 요청에 랜덤하게 생선된 토큰을 HTTP파라미터로 요구요청 시 전달되는 토큰 값과 서버에 저장되는 실제 값과 비교한 후 만약 일치하지 않으면 요청은 실패한다.Client<input type=”hidden” name=”${\_csrf.parameterName}”
SecurityContext안에 Authentication 객체가 있고 user객체정보가 저장되어있다.Authentication 객체가 저장되는 보관소로 필요 시 언제든지 Authentication 객체를 쓸 수 있도록 제공되는 클래스ThreadLocal에 저장되어 아
인증 처리하는 filter로부터 인증처리 지시를 받는 첫번째 클래스, ID와 PASSWORD를 Authentication 인증 객체에 저장하고 이 객체를 AuthenticationManager에게 전달AuthenticationManager 인터페이스를 구현한게 Prov
FilterSecurityInterceptor가 전달해준 인증정보, 요청정보, 권한정보를 이용해서 사용자의 자원접근을 허용할 것인지 거부할 것인지를 최종으로 결정하는 주체여러개의 Voter를 가질 수있으며 Voter들로부터 접근허용, 거부, 보류에 해당하는 각각의 값
UserDetailService Interface 를 상속 받는 CustomUserDetailService클래스를 만든다.UserDetails(인터페이스)를 반환하는 loadUserByUsername 함수를 오버라이드 한다.UserDetails 인터페이스를 직접 구현해