본문 바로가기
반응형

spring security3

[Spring Security] Login 이 성공했을 때 후처리를 어떻게 할 수 있을까? Spring Security를 쓰면 Login이 손쉽게 구현할 수 있다. 하지만 우리는 Login이 성공했을 때 추가로 작업을 해줘야 하는 상황들이 많이 있다. 대표적인 예가 토큰을 발급해서 내려준다든지 쿠키나 헤더에 어떠한 값들을 세팅을 해줘야 할 때가 종종 있다. 어떻게 할 수 있는지 알아보도록 하겠다. 방법은 매우 간단하다. Spring Security에 존재하는 AuthenticationSuccessHandler 인터페이스를 구현하기만 하면 된다. AuthenticationSuccessHandler 은 총 2개의 메소드로 이루어져 있고 그 중 하나는 default 메소드이다. 이 인터페이스를 구현한 Handler 클래스를 하나 생성한다. public class LoginAuthHandler imp.. 2021. 4. 3.
[Spring] Spring Security 알아보기 Spring Security란 ? 강력하고 커스텀마이징 인증과 접근제어를 할 수 있는 프레임워크 인증과 허가를 제공하는것에 중점을 둔 프레임워크 custom 요구사항이 생겼을때 쉽게 확장 가능하다. 특징 인증 및 허가에 대한 포괄적이고 확장가능한 지원 session fixation, csrf, clickjacking 공격으로부터 보호해준다. Servelet API integration Optional integration With Spring Web MVC 간단한 동작방식 Filter의 attemptAuthentication에서 this.getAuthenticationManager().authenticate(authRequest) 을 통해 알맞는 Provider를 찾아 authenticate로직을 실행하.. 2020. 3. 3.
[Spring Boot Security] Custom Logout Form 구현시 바로 로그아웃되는 현상 Spring Boot Security(이하 시큐리티) 에서는 Login View를 Custom 하게 된다면 아래 두개의 Filter가 사라진다. 그렇기 때문에 Logout을 따로 처리를 해줘야한다 SecurityConfig File이다. 보는것과 같이 loginPage를 /login이라고 명시해주었다. 그렇기때문에 위의 설명과 같이 Filter 2개가 제거된다. 위와같이 설정해주고 localhost:/logout 으로 들어가면 logout Form이 뜰거라 생각했지만 그렇지 않았다. 바로 logout처리가 되었다. 필자의 추측으로는 logout이라는 요청이 들어오면 어떠한 filter에서 가로채서 처리를 하는것같다. (이 글을보시는 분중에 어떠한 filter인지 아시는분은 알려주시면 정말 감사하겠습니다).. 2020. 2. 13.