spring security自定义登陆成功后处理

1:spring security3(以下简称ss3)中队filter的扩充很方便

2:我有个前提需求:登陆成功后要进行些额外的比如登陆日志的记录等,这个时候就需要对登陆成功后进行扩充,ss3正好提供了这一点,只需要在form-login中添加authentication-success-handler-ref即可,一般是authentication-success-handler实现AuthenticationSuccessHandler的onAuthenticationSuccess方法。

3:这个时候配置的target-url也就是登陆成功后的地址是无效的,需要自己来写

4:这个是否如果你访问的A,A不是target-url,登陆成功后还想跳转到A,那么A的获取使用下列代码获取的:

 

Object savedRequestObject = request.getSession().getAttribute("SPRING_SECURITY_SAVED_REQUEST");
		if(savedRequestObject != null) {
			redirectUrl = ((SavedRequest)savedRequestObject).getRedirectUrl();
			request.getSession().removeAttribute("SPRING_SECURITY_SAVED_REQUEST");
		}


记住要让session removeAttribute,要不下一次如果A不存在的话还是用的这个url

你可能感兴趣的:(spring,session,object,Security,filter,null)