2

LDAP 認証で Spring Security の「Remember me」を使用したい。LDAP 認証の構成についてはこちらで説明しています。いくつかの小さな変更を加えただけです。その設定に「Remember me」を追加する方法を教えてください。または、その方法を説明したサンプルを提供していただけるかもしれません。ありがとうございました。

4

2 に答える 2

4

必要なのは、remember-me 属性に data-source-ref または token-repository-ref と user-service-ref を指定することだけです。http 要素で投票者ベースの access-decision-manager-ref を使用する他の例を見ましたが、それは use-expressions="true." を無効にしているように見えました。これについて唯一気に入らない点は、ldap プロパティを 2 回指定しなければならないことです。

<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>
于 2011-12-07T20:38:40.460 に答える
3

このリンクは役立つはずです:

http://static.springsource.org/spring-security/site/docs/3.0.x/reference/remember-me.html

重要な注意点:

UserDetailsS​​ervice を使用しない認証プロバイダー ( LDAP プロバイダーなど) を使用している場合、アプリケーション コンテキストに UserDetailsS​​ervice Bean も含まれていない限り、それは機能しません。

于 2010-03-15T13:45:48.933 に答える