我是ldap新手,我尝试了一个我认为很简单的示例,用一个已经有人为测试设置的ldap实例来测试spring ldap模块。
有关我正在使用的ldap实例的详细信息可以在这里找到:http://blog.stuartlewis.com/2008/07/07/test-ldap-service/comment-page-3/
我使用了ldap浏览器/管理工具(Softerra ldap Admin),可以毫无问题地访问该目录。
当我使用java和spring-ldap(2.0.1)进行尝试时,我得到了上面提到的身份验证异常。在设置我自己的ldap实例来尝试进一步解决这个问题之前,我想在这里检查一下,以防有更多经验的人会指出我遗漏的一些明显的东西。
下面是我正在使用的代码:
import org.springframework.ldap.core.LdapTemplate;
import org.springframework.ldap.core.support.LdapContextSource;
import java.util.List;
public class LdapTest {
public List<String> getListing() {
LdapTemplate template = getTemplate();
List<String> children = template.list("dc=testathon,dc=net");
return children;
}
private LdapTemplate getTemplate(){
LdapContextSource contextSource = new LdapContextSource();
contextSource.setUrl("ldap://ldap.testathon.net:389");
contextSource.setUserDn("cn=john");
contextSource.setPassword("john");
try {
contextSource.afterPropertiesSet();
} catch (Exception ex) {
ex.printStackTrace();
}
LdapTemplate template = new LdapTemplate();
template.setContextSource(contextSource);
return template;
}
public static void main(String[] args){
LdapTest sClient = new LdapTest();
List<String> children = sClient.getListing();
for (String child :children) {
System.out.println(child);
}
}
}
堆栈跟踪:
Exception in thread "main" org.springframework.ldap.AuthenticationException: [LDAP: error code 49 - Invalid Credentials]; nested exception is javax.naming.AuthenticationException: [LDAP: error code 49 - Invalid Credentials]
at org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:191)
at org.springframework.ldap.core.support.AbstractContextSource.createContext(AbstractContextSource.java:356)
at org.springframework.ldap.core.support.AbstractContextSource.doGetContext(AbstractContextSource.java:140)
事实证明,我只需要在尊贵的名称中包含所有内容(包括组织单位)。使用
contextSource.setBase(...);
出于某种原因没有起作用。在做出更正后,一切都很好。
contextSource.setUserDn("cn=john,ou=Users,dc=testathon,dc=net");
我正试图将我们的应用程序集成到active Directory中。我遵循了以下入门指南:https://grails.org/wiki/acegisecurity%20plugin%20-%20ldap%20tutorial,但我得到了一个错误: [LDAP:错误代码49-无效凭据];嵌套异常是javax.naming.AuthenticationException:[LDAP:错误代码49-无效
我尝试使用ldap-server,它是Microsoft Active Directory。这些“”具有以下结构: (超过1000个条目)和工人以下,有以下条目开始: 等等 我使用的框架是cuba studio。我必须申报以下财产: 但是,当我尝试使用它时,我得到了以下异常: 我还发现,例外应该是“无效凭据”的东西 https://confluence.atlassian.com/stashkb/
我在网上读了很多类似的问题(堆栈溢出,其他来源),但还找不到解决方案。你看到我的配置有什么问题吗?难道我注定要使用简单的机制,让每个人的密码以明文形式四处移动吗?我不能使用CRAM-MD5和GSSAPI,因为我公司的active directory服务不支持它们。
当试图通过Sonarqube连接到LDAP时,我遇到了以下错误: 2016.09.13 09:35:16调试Web[O.S.P.L.LDAPUsersProvider]用户sonartester在2016年找不到。09.13 09:35:16错误Web[O.S.S.A.RealMauthEnticator]身份验证过程中错误org.sonar.api.utils.SonareXception:无法
LDAP:错误代码49-80090308:ldaper:DSID-0C0903A9,注释:AcceptSecurityContext错误,数据52e,v1db1 我知道“52e”代码是用户名有效,但密码无效。我在apache studio中使用了相同的用户名和密码,我成功地建立了到LDAP的连接。 这是我的java代码 我的错误在这一行: 我不知道到底是什么导致了这个错误。
我知道“52e”代码是用户名有效,但密码无效。我使用相同的用户名和密码根据Active directory验证用户及其工作状态。 以下是我的java代码: 我不知道为什么会出现这个错误。有人能帮忙吗?