认证处理过滤器authenticationProcessingFilter的配置
1.< bean id = "authenticationProcessingFilter" class = "org.acegisecurity.ui.webapp.AuthenticationProcessingFilter" > 2. < property name = "filterProcessesUrl" value = "/j_security_check" /> 3. < property name = "authenticationFailureUrl" value = "/index.jsp?login_error=1" /> 4. < property name = "defaultTargetUrl" value = "/main.do" /> 5. < property name = "authenticationManager" ref = "authenticationManager" /> 6. < property name = "rememberMeServices" ref = "" /> <!-可选 -- > 7.</ bean >
8.说明:
9. 1)负责处理基于表单的身份验证请求。
10. 2)当接收到与filterProcessesUrl所定义相同的请求时,它会首先通过AuthenticationManager来验证用户身份。如果验证成功,则重定向到defaultTargetUrl所定义的成功登陆页面。如果验证失败,则再从 rememberMeServices中获取用户身份。若再获取失败,则重定向到auhenticationFailureUrl所定义的登陆失败页面。
11. 3)filterProcessesUrl:默认值为/j_acegi_security_check。该值必须与登录页面form的action值一致。
12. form中输入用户名的input控件的name必须为j_username;输入密码的input控件的name必须为j_password。
13. 4)rememberMeServices 负责通过以cookie的形式保存先前的用户登录信息。在Authentication对象不存在时, rememberMeProcessingFilter会调用rememberMeServices的autoLogin()方法,尝试在cookies 中获取用户登录信息,如果存在则返回Authentication对象。在每次用户登录时,如果设置了RememberMe功能,在验证用户身份成功后,则会调用loginSuccess()方法记录用户信息在cookies中,否则调用loginFail()方法清除cookie。
========================================