![](/img/trans.png)
[英]How to authenticate against Active Directory via LDAP over TLS?
[英]Authenticating via LdapExtLoginModule against Active Directory Forest (LDAP_REFERRAL)
是否可以通过任何Ldap登录模块或任何其他特殊模块对Active Directory 林进行身份验证?
在standalone.xml中具有以下配置:
<module-option name="java.naming.provider.url" value="ldap://ad.company.tld:389"/ >
<module-option name="baseCtxDN" value="OU=DE,OU=Users,OU=Accounts,OU=US,OU=Hosting,DC=ad00,DC=company,DC=tld"/ >
<module-option name="baseFilter" value="(CN={0})"/ >
<module-option name="rolesCtxDN" value="OU=Groups,OU=Accounts,OU=US,OU=Hosting,DC=ad00,DC=company,DC=tld"/ >
<module-option name="roleFilter" value="(member={1})"/>
<module-option name="roleAttributeID" value="CN"/ >
<module-option name="searchScope" value="SUBTREE_SCOPE"/>
在wildfly 8上,我得到一个javax.naming.NameNotFoundException,它具有指向LdapCtx.java:3112的完整堆栈跟踪,如下所示:
case LdapClient.LDAP_REFERRAL:
e = new NamingException(message);
break;
因此,异常是由于引荐错误引起的,并且看起来LDAP模块不能遵循引荐控件。 而且,我发现
在http://docs.oracle.com/javase/jndi/tutorial/ldap/referral/jndi.html注释(位于底部)中:
Windows Active Directory:由于Active Directory不支持“管理引荐”控件,因此本课程中的所有示例均不适用于Active Directory。
因此,如果LdapExtLoginModule依赖于Java提供的JNDI,那么我猜它没有成功的机会。
WildFly中的引荐处理存在一些问题。 它们已在代码库中修复。 一旦发布了9.x流中的新版本,它便会为您工作。
在JBoss EAP 6.3和6.2.4有问题已经解决 。
处理(即遵循)引用的配置如下所示:
<security-domain name="ldap-authn" cache-type="default">
<authentication>
<login-module code="LdapExtended" flag="required">
<module-option name="java.naming.provider.url" value="ldap://test-ldap.jboss.example:389/"/>
<module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
<module-option name="java.naming.security.authentication" value="simple"/>
<module-option name="bindDN" value="cn=Directory Manager"/>
<module-option name="bindCredential" value="****"/>
<module-option name="baseCtxDN" value="dc=example,dc=com"/>
<module-option name="baseFilter" value="(uid={0})"/>
<module-option name="rolesCtxDN" value="dc=example,dc=com"/>
<module-option name="roleFilter" value="(uniqueMember={1})"/>
<module-option name="roleAttributeID" value="cn"/>
<module-option name="roleNameAttributeID" value="cn"/>
<module-option name="roleRecursion" value="0"/>
<module-option name="throwValidateError" value="true"/>
<module-option name="java.naming.referral" value="follow"/>
<module-option name="referralUserAttributeIDToCheck" value="uniqueMember"/>
</login-module>
</authentication>
</security-domain>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.