一 自定义登录成功处理器
1 源码分析
使用 successForwardUrl()时表示成功后转发请求到地址。内部是 通过 successHandler()方法进行控制成功后交给哪个类进行处理. ForwardAuthenticationSuccessHandler 内部就是最简单的请求转发。由于是请求转发,当遇到需要跳转到站外或在前后端分离的项目中就无法使用了.
当需要控制登录成功后去做一些事情时,可以进行自定义认证成 功控制器。
2 实现成功处理器
需要实现 AuthenticationSuccessHandler 接口
public class SuccessHandler implements AuthenticationSuccessHandler {
private String url;
public SuccessHandler(String url){
this.url=url;
}
@Override
public void onAuthenticationSuccess(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Authentication authentication) throws IOException, ServletException {
httpServletResponse
.sendRedirect(url);
}
}