1. 오류 발생 흐름1-1. 사용자가 로그인을 한다.로그인이 완료된 사용자의 인증 정보가 SecurityContext에 저장된다.1-2. 인증된 사용자가 HTTP 요청을 한다.인증이 완료된 사용자는 페이지를 이동하면서 HTTP 요청을 보낸다. 게시물 작성 페이지로 이동하기 위해서는 인증이 완료된 사용자이어야 하며, 더불어 작성 완료하기 위해서 또한 인증이 완료된 사용자이어야 한다.1-3. HTTP 요청 시에 인증된 사용자 정보를 가져올 수 없다.사용자가 게시물 작성 버튼을 누르면 인증 정보를 가져올 수 없다는 에러가 발생한다.아래 코드를 보면 createPost()의 매개변수에 @AuthenticationPrincipal 애너테이션을 사용하여 인증된 사용자 정보를 주입받고자 한다. 그러나 HTTP 요청이..
Security Filters역할요청된 정보를 가지고 UsernamePasswordAuthenticationToken 생성생성된 Token을 AuthenticationManager로 전달인증이 완료된 Authentication 객체를 Security Context에 저장" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스사용자가 username, password를 입력 후 로그인을 시도하면 Security Filter가 입력 정보를 가로챕니다. 가로챈 username과 password는 UsernamePasswordAuthenticationToken에 저장됩니다.Authentication Manager역할여러 개의 구현체인 Authentication Providers를 가진다.사용..
Spring Security Filters사용자의 요청이 들어왔을 때, Spring Security Filter가 요청을 가로챕니다. 이때, 요청을 한 사용자가 인증이 필요한지 여부를 식별합니다. 인증이 필요한 사용자인 경우, 로그인 페이지로 이동합니다.Authentication로그인 페이지에서 입력된 인증 정보(username, password)를 사용하여 Authentication 객체를 생성합니다. 이 객체를 가지고 유효한 인증인지 확인하는 과정이 이루어집니다.Authentication Manager넘겨받은 Authentication 객체가 유효한 인증인지 확인합니다. Authentication 객체를 Authentication Providers로 넘겨 유효성 검사를 위임합니다. 이때,..