繁体   English   中英

使用ADLDAP从Active Directory加载用户

[英]Load users from Active Directory using ADLDAP

我正在使用ADLDAP库( http://adldap.sourceforge.net )与Active Directory进行交互。 我正在使用PHP。 我想从Active Directory中获取所有用户并将其保存到数组。 有什么办法吗?

您可能想要执行以下操作:

$adldap = new adLDAP();
$usernames = $adldap->user()->all();

$users = array();
foreach ($usernames as $username)
{
    $userInfo = $adldap->user()->infoCollection($username);
    $users[$username] = $userInfo;
}

all()方法doumented 这里

假设目录管理员将允许LDAP客户端应用程序从目录中检索所有条目, namingContexts从根DSE中提取属性namingContexts的值。 该属性的值(它是多值的)是该服务器支持的命名上下文或后缀。 有了这些信息,可以使用以下方法构造搜索:

  • 命名上下文
  • 大小限制0f 0(无大小限制)
  • 时限为0(无限制时间)
  • 一个匹配所有条目的过滤器,例如(objectClass=*)(&)
  • 一个足以发现所有条目(可能是subtree
  • 您需要的属性列表

为每个namingContext构造此搜索。 同样,假设目录管理员将允许LDAP客户端搜索整个目录,则这些搜索将导致包含每个条目的响应。

有许多警告,例如:

  • 这是管理员允许的吗?
  • 您的应用程序是否可以增长到足以处理数据的大小(如果不能,“简单分页结果”机制可能无法提供解决方案)。
  • 有人告诉我AD对LDAP客户端施加了1000个大小限制。 即使是这样,也不应使用目录基础结构或供应商的知识对LDAP客户端进行编码。 这样做会导致不良的,易碎的代码难以维护。 所有LDAP客户端都必须按照IETF上的LDAP理事会制定的标准进行编码。

有关更多信息,请参见:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM