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