2010-03-02 72 views
2

我想通過LDAP身份驗證使用Spring Security的「記住我」。 LDAP認證配置描述如下here,我剛剛做了一些微小的更改。你能向我解釋我怎樣才能在該配置中添加「記住我」?或者,可以,你可以給我一個樣本來描述如何去做。 謝謝。如何在Spring Security和LDAP中使用「記住我」身份驗證?

+0

這是一個非常複雜的過程,讓我記住我使用LDAP。以下是博客的鏈接,其中列出了整個流程: http://www.tikalk.com/java/spring-security-3-remember-me-ldap-authentication – jasop 2012-06-20 14:39:19

回答

4

你真的只需要給remember-me屬性一個data-source-ref或一個token-repository-ref和一個user-service-ref。我看到一些其他的例子在http元素中使用基於選舉器的access-decision-manager-ref,但是這似乎使use-expressions =「true」無效。我不喜歡的唯一的事情是必須指定ldap屬性兩次。

<beans:import resource="datasource-context.xml"/> 

<http use-expressions="true" > 
    <intercept-url pattern="/auth/**" access="permitAll" /> 
    <intercept-url pattern="/admin/**" access="hasRole('MY_ROLE_ADMIN')" /> 
    <intercept-url pattern="/**" access="isAuthenticated()" /> 
    <form-login /> 
    <logout /> 
    <remember-me key="_my_remember_me_key" 
     token-validity-seconds="864000" 
     data-source-ref="dataSource" 
     user-service-ref="ldapUserService" /> 
</http> 

<ldap-server id="ldapServerContext" ldif="classpath:users.ldif" root="dc=springframework,dc=org" port="33389" /> 

<ldap-user-service 
    id="ldapUserService" 
    server-ref="ldapServerContext" 
    user-search-base="ou=people" 
    user-search-filter="(uid={0})" 
    group-search-base="ou=groups" 
    group-role-attribute="cn" 
    group-search-filter="(member={0})" 
    role-prefix="MY_ROLE_" /> 

<authentication-manager> 
    <ldap-authentication-provider 
     server-ref="ldapServerContext" 
     user-search-base="ou=people" 
     user-search-filter="(uid={0})" 
     group-search-base="ou=groups" 
     group-role-attribute="cn" 
     group-search-filter="(member={0})" 
     role-prefix="MY_ROLE_" /> 
</authentication-manager> 
相關問題