我用'记住我'来自Spring Security的功能。我还使用LDAP来检查用户身份验证。这是我的security-context.xml:
<sec:http use-expressions="true">
<sec:intercept-url pattern="/login" access="permitAll()"/>
<sec:intercept-url pattern="/_*.js" access="permitAll()"/>
<sec:intercept-url pattern="/403" access="isAuthenticated()"/>
<sec:form-login login-page="/login" authentication-success-handler-ref="loginController"
authentication-failure-handler-ref="loginController"/>
<sec:remember-me user-service-ref="ldapUserDetailsService" data-source-ref="dataSource"/>
<sec:access-denied-handler error-page="/403"/>
<sec:logout/>
</sec:http>
<sec:authentication-manager>
<sec:authentication-provider ref="customizedActiveDirectoryAuthenticationProvider"/>
</sec:authentication-manager>
<bean id="userDetailsMapper"
class="MyLdapUserDetailsMapper"/>
<bean id="authoritiesPopulator"
class="MyAuthoritiesPopulator"/>
<bean id="customizedActiveDirectoryAuthenticationProvider"
class="MyCustomizedActiveDirectoryAuthenticationProvider">
<!--some configuration here-->
</bean>
<bean id="ldapUserDetailsService" class="org.springframework.security.ldap.userdetails.LdapUserDetailsService">
<!--some configuration here-->
</bean>
我的login.js包含:
xtype: 'checkbox',
fieldLabel: ' ',
boxLabel: 'Remember me',
labelSeparator: '',
name: '_spring_security_remember_me',
checked: false
我发现如果它有帮助就会使用RememberMeAuthenticationFilter。
在大多数情况下,记住我的功能很好。但有时在我关闭浏览器后,它并不记得我,我看到登录页面,虽然我按下了“记住我”。之前。
这里有什么问题?或者可能是Spring Security没有问题?
我读了this,但我使用的是不包含WebSecurityConfigurerAdapter的Spring Security 3.1.x.所以我不知道如何使用这篇文章。