【问题标题】:How do I use "Remember Me" authentication with Spring Security and LDAP?如何在 Spring Security 和 LDAP 中使用“记住我”身份验证?
【发布时间】:2011-01-22 14:41:12
【问题描述】:

我想使用 Spring Security 的“记住我”和 LDAP 身份验证。 LDAP 身份验证配置描述为here,我刚刚做了一些微小的更改。您能否向我解释一下如何在该配置中添加“记住我”?或者,可能是,你可以给我一个描述如何做的样本。 谢谢。

【问题讨论】:

  • remember-me 使用 LDAP 是一个相当复杂的过程。这是一个博客链接,其中概述了整个过程:tikalk.com/java/…

标签: java spring-security remember-me


【解决方案1】:

这个链接应该会有所帮助:

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

重要提示:

如果您使用的身份验证提供程序不使用 UserDetailsS​​ervice(例如,LDAP 提供程序),那么除非您的文件中还有一个 UserDetailsS​​ervice bean,否则它将无法工作应用程序上下文。

【讨论】:

    【解决方案2】:

    你真的只需要给 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-18
      • 2014-06-09
      • 2012-12-14
      • 2016-09-09
      • 2013-03-29
      • 2014-09-04
      • 2016-09-01
      • 1970-01-01
      相关资源
      最近更新 更多