通过glassfish jndi资源获取Active Directory连接

时间:2010-02-25 09:47:06

标签: java active-directory glassfish jndi

我正在尝试使用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获取连接设置,以便于管理。

1 个答案:

答案 0 :(得分:1)

尝试添加java.naming.referral = follow作为另一个属性,看看是否有效。