我是新的活動目錄和彈簧安全性,實際上,我想更改我的彈簧安全配置,以便在驗證中使用活動目錄,因此我在我的SecurityConfig中使用此目錄:LDAP:錯誤代碼34 - 錯誤的DN給出
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.authenticationProvider(activeDirectoryLdapAuthenticationProvider());
auth.eraseCredentials(false);
}
@Bean
public AuthenticationProvider activeDirectoryLdapAuthenticationProvider() {
ActiveDirectoryLdapAuthenticationProvider authenticationProvider = new ActiveDirectoryLdapAuthenticationProvider(
"dc=example,dc=com", "ldap://localhost:10389/dc=example,dc=com");
authenticationProvider.setConvertSubErrorCodesToExceptions(true);
authenticationProvider.setUseAuthenticationRequestCredentials(true);
authenticationProvider.setUserDetailsContextMapper(mapper);
return authenticationProvider;
}
和active directory studio我有一個分區:dc=example,dc=com
其中包含一個條目ou=people
。
當我試圖把用戶名和密碼,我有這樣的錯誤:
javax.naming.InvalidNameException: [LDAP: error code 34 - Incorrect DN given : [email protected]=example,dc=com (0x73 0x79 0x73 0x61 0x64 0x6D 0x69 0x6E 0x40 0x64 0x63 0x3D 0x70 0x75 0x70 0x70 0x75 0x74 0x2C 0x64 0x63 0x3D 0x63 0x6F 0x6D) is invalid] at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3076) at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2883) at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2797)..
你有什麼想法嗎?
如果你在Mac上,請確保你的build.xml文件中沒有任何'"' – Archmede