簡體   English   中英

通過LdapExtLoginModule針對Active Directory林(LDAP_REFERRAL)進行身份驗證

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM