Spring Security 完成登陆后一般需要一些自定义的处理,例如,记录登陆日志,初始化用户菜单等等
这里就需要自定义的 登陆成功处理了,Spring 提供了 AuthenticationSuccessHandler 接口,完成这个接口就可以了。 但是,修改到这里处理后,原先系统的自动转向处理就没有了,接口中应该怎么写,才可以保持原来的功能呢?
代码如下:
public void onAuthenticationSuccess(HttpServletRequest request,
HttpServletResponse response, Authentication arg2) throws IOException,
ServletException {
logger.info("Success hanlder"); //这里加入需要的处理
String redirectUrl = "index"; //缺省的登陆成功页面
SavedRequest savedRequest = (SavedRequest) request.getSession().getAttribute("SPRING_SECURITY_SAVED_REQUEST");
if(savedRequest != null) {
redirectUrl = savedRequest.getRedirectUrl();