簡體   English   中英

如何在Spring Security和LDAP中使用“記住我”身份驗證?

[英]How do I use “Remember Me” authentication with Spring Security and LDAP?

我想通過LDAP身份驗證使用Spring Security的“記住我”。 此處描述 LDAP身份驗證配置,我做了一些微小的更改。 您能告訴我如何在該配置中添加“記住我”嗎? 或者,也許可以給我一個示例,說明如何執行此操作。 謝謝。

您實際上只需要為“記住我”屬性提供一個數據源引用或一個令牌庫引用以及一個用戶服務引用。 我還看到了一些其他示例,這些示例在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>

該鏈接應有助於:

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

重要的提示:

如果您正在使用不使用UserDetailsS​​ervice的身份驗證提供程序( 例如LDAP提供程序 ),那么它將不起作用,除非您在應用程序上下文中還具有UserDetailsS​​ervice Bean。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM