2022/02 5

[스프링 시큐리티] ExceptionTranslationFilter - 예외 처리 필터

https://docs.spring.io/spring-security/site/docs/5.1.5.RELEASE/reference/htmlsingle/#exceptiontranslationfilter Spring Security Reference The authenticator is also responsible for retrieving any required user attributes. This is because the permissions on the attributes may depend on the type of authentication being used. For example, if binding as the user, it may be necessary to read them docs..

스터디-Spring 2022.02.15

[스프링 시큐리티] UsernamePasswordAuthenticationFilter - Form 인증 처리 필터

폼 로그인을 처리하는 필터 form에 입력한 username과 password로 AuthenticationToken을 만들고, AuthenticationManager를 통해 인증을 시도 AuthenticationManager(구현체: ProviderManager)는 여러 AuthenticationProvider를 이용하여 인증을 시도 한다 그 구현체 중 DaoAuthenticationProvider는 UserDetailsService를 이용하여 UserDetails를 가져오고, 사용자가 입력한 password와 비교하여 인증을 처리한다.

스터디-Spring 2022.02.09

[스프링 시큐리티] LogoutFilter - 로그아웃 처리 필터

LogoutHandler (Composite 객체 - 여러개의 LogoutHandler를 사용하고 있다) LogoutSuccessHandler (Logout을 성공한 다음 처리를 위한 객체) - 기본 객체 SimpleUrlLogoutSuccessHandler logout process LogoutFilter -> CompositeLogoutHandler(LogoutHandler 여러개를 갖고있음) -> csrf 사용시 csrf token을 null로 변경(CsrfLogoutHandler) -> session을 invalidate함(초기화), 그리고 SecurityContextHolder를 비움 (SecurityContextLogoutHandler) HttpSecurity config에서의 logout설정..

스터디-Spring 2022.02.08

[스프링 시큐리티] CsrfFilter - CSRF 공격 방지

CSRF(Cross-site Request Forgery) - 사이트 간 요청 위조 https://ko.wikipedia.org/wiki/%EC%82%AC%EC%9D%B4%ED%8A%B8_%EA%B0%84_%EC%9A%94%EC%B2%AD_%EC%9C%84%EC%A1%B0%EF%BB%BF 사이트 간 요청 위조 - 위키백과, 우리 모두의 백과사전 ko.wikipedia.org 과정 1. 이용자는 웹사이트에 로그인하여 정상적인 쿠키를 발급(인증을 받은 상태라는 뜻) 2. 공격자가 메일로 다음과 같이 코드를 심어 보냄 위의 URL은 패스워드를 변경하는 URL이고 인증이 되어있어야만 접근가능 3. 이용자가 메일을 읽으면 브라우저는 이미지 파일을 받아오기 위해 위의 URL을 조회함 4. 이용자의 브라우저는 인증이..

스터디-Spring 2022.02.07