이 글은 정수원님의 Infrean 강의를 학습한 내용을 정리하여 작성합니다. Form 인증 - Access Denied 사용자가 인증 성공 후 특정 자원에 접근하려 할 때 해당 자원에 대한 접근 권한이 없으면 인가 예외가 발생한다. 인가 예외는 인증 필터가 아닌 FilterSecurityInterceptor 필터가 받아 ExceptionTranslationFilter를 통해 처리한다. 이번에는 AccessDeniedHandler를 구현한 CustomAccessDeniedHandler를 작성해 인가 예외가 발생한 경우 처리하도록 한다. 구현 CustomAccessDeniedHandler public class CustomAccessDeniedHandler implements AccessDeniedHandl..
스프링 시큐리티
이 글은 정수원님의 Infrean 강의를 학습한 내용을 정리하여 작성합니다. Form 인증 - CustomAuthenticationFailureHandler Form 인증에 실패하는 경우 FailureHandler가 동작한다. 실패 이후 후속작업을 직접 지정할 수 있다. 구현 CustomAuthenticationFailureHandler @Component public class CustomAuthenticationFailureHandler extends SimpleUrlAuthenticationFailureHandler { @Override public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse respons..
이 글은 정수원님의 Infrean 강의를 학습한 내용을 정리하여 작성합니다. Form 인증 - CustomAuthenticationSuccessHandler Form 인증 방식에서 제공해주는 successHandler API를 인터페이스를 통해 직접 구현한다. 구현 CustomAuthenticationSuccessHandler 스프링 시큐리티는 기본 구현체인 SimpleUrlAuthenticationSuccessHandler를 제공한다. SimpleUrlAuthenticationSuccessHandler를 상속받아 CustomAuthenticationSuccessHandler가 동작하도록 한다. 요청 캐시 객체를 사용해 사용자가 인증 후 이동할 페이지로 보내주도록 한다. ex) 권한이 없는 익명사용자가 ..
이 글은 정수원님의 Infrean 강의를 학습한 내용을 정리하여 작성합니다. Form 인증 - WebAuthenticationDetails, AuthenticationDetailsSource user가 아이디와 패스워드 외에도 추가적인 파라미터를 정의해 전달하는 경우, 추가 정보를 인증 과정에서 사용하거나 인증 이외에도 해당 정보를 계속해서 참조할 수 있도록 처리하는 클래스가 WebAuthenticationDetails 클래스이다. WebAuthenticationDetails 클래스를 생성하는 클래스가 AuthenticationDetailsSource 클래스이다. 인증 필터가 인증 처리를 수행한다. AuthenticationFilter는 Authentication 객체를 생성하는데, 해당 객체에는 사용자..