2

我正在尝试设置 bhLDAPAuthPlugin 以通过 Active Directory 进行身份验证。我在配置身份验证设置时遇到问题。

在 adLDAP.php 文件中,这里是默认设置:

class adLDAP {
    // BEFORE YOU ASK A QUESTION, PLEASE READ THE DOCUMENTATION AND THE FAQ
    // http://adldap.sourceforge.net/documentation.php
    // http://adldap.sourceforge.net/faq.php

    // You can set your default variables here, or when you invoke the class
    var $_account_suffix="@mydomain.local";
    var $_base_dn = "DC=mydomain,DC=local"; 

    // An array of domain controllers. Specify multiple controllers if you 
    // would like the class to balance the LDAP queries amongst multiple servers
    var $_domain_controllers = array ("dc01.mydomain.local");

    // optional account with higher privileges for searching
    // not really that optional because you can't query much as a user
    var $_ad_username=NULL;
    var $_ad_password=NULL;

    // AD does not return the primary group. http://support.microsoft.com/?kbid=321360
    // This tweak will resolve the real primary group, but may be resource intensive. 
    // Setting to false will fudge "Domain Users" and is much faster. Keep in mind though that if
    // someone's primary group is NOT domain users, this is obviously going to bollocks the results
    var $_real_primarygroup=true;

    // Use SSL, your server needs to be setup, please see - http://adldap.sourceforge.net/ldap_ssl.php
    var $_use_ssl=false;

    // When querying group memberships, do it recursively
    // eg. User Fred is a member of Group A, which is a member of Group B, which is a member of Group C
    // user_ingroup("Fred","C") will returns true with this option turned on, false if turned off
    var $_recursive_groups=false;

    // You should not need to edit anything below this line
    //******************************************************************************************

这个问题可能看起来很抽象,但是我如何确定这个信息呢?

在插件的文档中,它说 account_suffix 应该是我要连接的域,但我发现其他文档列出了特定参数,例如组织,例如:

account_suffix = "ou=People, o=domain.edu";

我如何找到要使用的?

4

1 回答 1

1

如果您有权访问 Active Directory 并有权运行 Active Directory 用户和计算机,则可以相当容易地解决这个问题。

首先,出于向后兼容性的原因,AD 使用“域”对象,即 LDAP 中的 dc=。所以后缀很可能是 dc=domain,dc=com 或类似的形式。

您的 AD 管理员可能已选择将用户留在默认的 Users 容器中,该容器实际上是 cn=Users 而不是 ou=Users,如您所料。

或者他们为用户存储制作了一系列OU。完全取决于他们。

在 ADUC 中,您可以看到最顶部的域名作为最根节点的布局。那将是 domain.com 或类似的,这意味着 dc=domain, dc=com 在一端。

然后环顾四周,查看用户的存储位置(或者至少是您希望使用此服务的用户),然后为每个 OU 添加一个 ou=whatever 到 dc=domain,dc=com。

于 2012-12-23T20:48:53.170 回答