2010-03-02 4 views
2

Spring Security의 "Remember me"를 LDAP 인증과 함께 사용하고 싶습니다. LDAP 인증 구성은 here으로 설명되어 있습니다. 어떻게 그 구성에 "기억하기"를 추가 할 수 있는지 설명해 주시겠습니까? 또는, 당신은 나에게 그것을하는 방법을 설명하는 샘플을 줄 수 있습니다. 감사합니다.Spring Security와 LDAP에서 "Remember Me"인증은 어떻게 사용합니까?

+0

LDAP를 사용하여 remember-me 작업을하는 것은 상당히 복잡한 과정입니다. 다음은 전체 프로세스가 설명 된 블로그 링크입니다. http://www.tikalk.com/java/spring-security-3-remember-me-ldap-authentication – jasop

답변

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> 
관련 문제