我使用: - 春3.1.3解決:無法通過LDAP使用Spring Security認證到目錄(Active Directory)中
而問題是我無法通過LDAP在Active Directory連接使用有效的憑證。
我不知道是否是由畸形模式或關於userdn或url的rootDn的配置問題引起的。雖然乍一看,似乎一切都是正確的。
這是我目前春季安全配置文件:
...
<security:authentication-manager alias="authenticationManager">
<security:authentication-provider ref="ldapAuthProvider" />
</security:authentication-manager>
<bean id="ldapAuthProvider"
class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider">
<constructor-arg>
<bean id="bindAuthenticator" class="org.springframework.security.ldap.authentication.BindAuthenticator">
<constructor-arg ref="contextSource" />
<property name="userDnPatterns">
<list><value>sAMAccountName={0}</value></list>
</property>
</bean>
</constructor-arg>
</bean>
<bean id="contextSource"
class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
<constructor-arg value="ldap://remotehost:port/OU=My%20Company,dc=domain,dc=subdomain"/>
<property name="userDn" value="CN=managerUserCN,OU=Users,OU=Test Accounts,OU=My Company,dc=domain,dc=subdomain/>
<property name="password" value="thePass"/>
</bean>
...
*我已經通過描述性數據
*這是一個requeriment搜索由sAMAccountName賦取代了真實的URL,組織,團體等。
而且通過doAuthentication扔過NamingException:bindWithDn是下一個:
*org.springframework.ldap.AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1*
而且52E,我對LDAP維基閱讀代碼的解釋是不完全正確的,因爲現推出兩種輸入一個現有的用戶名和不存在的用戶名。
林指的:
注:返回時的用戶名是有效的,但密碼/證書是無效的。將防止顯示大多數其他錯誤,如上所述。
不適合我。
對不起,我的英語和...
問候!