【问题标题】:PHP Ldap profile user with its nested groupsPHP Ldap 配置文件用户及其嵌套组
【发布时间】:2014-04-01 07:47:06
【问题描述】:

我需要通过 ldap 查询从 Active Directory 中获取一些用户属性。 我正在使用此代码:

$attributes=array("cn","sAMAccountName","sn","givenname","memberof","mail","telephonenumber","mobile","useraccountcontrol","department");
$filter = "(&(objectClass=user)(sAMAccountName=".$username."))";
$result = ldap_search($ldaphandler, $domain, $filter, $attributes);

我需要所有嵌套组,但通过此查询,我只得到第一级组(memberof 字段)。但例如,如果用户是 InnerGroup 的成员,而 InnerGroup 是 OuterGroup 的成员,我想同时获得两个组(InnerGroup 和 OuterGroup)。可以吗?

谢谢。

【问题讨论】:

    标签: php active-directory ldap


    【解决方案1】:

    要查找“user1”所属的所有组(请参阅AD search filter):

    1. 将基设置为组容器 DN;例如根 DN (dc=dom,dc=fr)
    2. 将范围设置为子树
    3. 使用以下过滤器:(member:1.2.840.113556.1.4.1941:=cn=user1,cn=users,DC=x)

    LDIFDE.EXE 示例(Windows 上的本机命令行 AD 搜索):

    ldifde -f t.txt -d "DC=dom,DC=fr" -r "(member:1.2.840.113556.1.4.1941:=CN=jblanc,OU=MonOu,DC=dom,DC=fr)"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多