spring security LoginSuccessHandler, LoginFailureHandler

-·2023년 2월 9일
0

security login 한 후에 로그인내역로그를 남긴다거나 하고싶을때가 있을것이다.

대부분 필요하기도 하고 이럴때 handler만들어서 하면 편하당

config

http
    .formLogin()
...
    .successHandler(successHandler())
//    .successHandler(new LoginSuccessHandler()) 가능
    .failureHandler(failureHandler());

...

@Bean
LoginSuccessHandler successHandler() {
	return new LoginSuccessHandler();
}
@Bean
LoginFailureHandler failureHandler() {
    return new LoginFailureHandler();
}

셋팅자체는 어렵지않다.

security config 하는곳에서 handler를 추가해주면 끝.

그럼 알아서 로그인성공시 실패시에 보내줄것이다.

success handler

public class LoginSuccessHandler extends SimpleUrlAuthenticationSuccessHandler{

	@Override
	public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
			Authentication authentication) throws IOException, ServletException {
		// 로그인 성공시 할 행동
	}
}

failure handler

public class LoginFailureHandler extends SimpleUrlAuthenticationFailureHandler{

	@Override
	public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
			AuthenticationException exception) throws IOException, ServletException {
		// 로그인 실패시 할 행동
	}

}

extends, implements 할수있는 handler종류가 몇몇개 있던데 어느것을 해도 상관은없다 용도에 맞게 쓰면될듯?

profile
거북이는 오늘도 걷는다

0개의 댓글