0

如何获取用户过滤器的成员?并非所有用户都有 memberof。

$ds = `000.000.000.000`;
$ldaprdn = `CN=Users,dc=xxx,dc=xx,dc=xx,dc=xx`;    
$user = `CN=UserSystem,`;
$ldappass = `通过`;

// 连接到 ldap 服务器
$ldapconn = ldap_connect("000.000.000.000") or die(`无法连接到 LDAP 服务器。`);

如果($ldapconn){
    // 绑定到 ldap 服务器
    $ldapbind = ldap_bind($ldapconn, $user.``.$ldaprdn, $ldappass);
    // 验证绑定
    如果($ldapbind){        
        ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION,3);
        ldap_set_option($ldapconn, LDAP_OPT_REFERRALS,0);

        $sr=ldap_search($ldapconn, $ldaprdn, `(&(objectClass=user)(sAMAccountName=testuser))`);
        $info = ldap_get_entries($ldapconn, $sr);

        $ii=0;
         对于 ($i=0; $ii`;
              if ($data == `memberof`) {
            $membrog = explode(`,`, $info[$i][$data][0]);
            $membrode = explode(`=`, $membrog[0]);
            回声 $membrode[1].` 
`; } } ldap_close($ldapconn); } 别的 { 回声“连接到 LDAP 失败”; } }
4

1 回答 1

0

如果您正在查看来自 LDAP 的用户是 memberOF 的组,由于组嵌套,您可能需要使用利用MATCHING_RULE_IN_CHAIN 的过滤器,如本页所示。

-吉姆

于 2014-04-06T09:34:36.927 回答