【发布时间】:2010-02-25 09:47:05
【问题描述】:
我正在尝试使用 glassfish 自定义资源提供的属性获取 LDAP 连接。
我的 jndi 设置:
Resourcetype: javax.naming.directory.Directory
Factory-Class: com.sun.jndi.ldap.LdapCtxFactory
Parameters:
java.naming.security.credentials = myPassword
java.naming.security.principal = cn=ldapUser,ou=myOrganization,dc=myDomain,dc=net
URL = ldap://ldapserver/ou=myOrganization,dc=myDomain,dc=net
这就是我在 Java 中获得连接的方式:
Context initCtx = new InitialContext();
DirContext ctx = (DirContext) initCtx.lookup("CMDB2LDAP");
这与 OpenLDAP 完美配合,但是当我尝试连接到 AD 2003 时,我得到以下异常:
javax.naming.NamingException: [LDAP: error code 1 - 00000000: LdapErr: DSID-0C090627, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, vece]; remaining name ''
当我创建自己的 DirContext 并将完全相同的属性放入其中时,连接工作完美无缺。
为了便于管理,我更愿意从 glassfish 获取连接设置。
【问题讨论】:
标签: java active-directory glassfish jndi