我如何檢查用戶是否是使用php_ldap模塊的組的一部分?PHP LDAP:如何搜索用戶是否在組中?
我完全新的LDAP,因此有些困惑......
用google搜索,我想出這個至今:
$ds=ldap_connect($ldapHost, $ldapPort);
if ($ds) {
$r=ldap_bind($ds, $ldapRdn, $ldapPassword);
$filter = "(sAMAccountName=" . $uid . ")";
$attr = array("memberof");
$result = ldap_search($ds, $ldapDN, $filter, $attr) or exit("Unable to search LDAP server");
我不知道這是否是正確的,因爲它是從AD的特定體系中獲得的。 問題似乎是$ ldapDN。這是我尋找的權利?我的羣組「定義」是:
cn=User,ou=Profiles,ou=App_DEV,ou=ApplicationRights,O=MyCompany.COM
我該如何做這項檢查?
編輯:。
這裏是我的解決辦法發現「接受的答案」和審判&錯誤」我認爲答案在很大程度上取決於你的特定系統上的幫助
//This is the User group DN
$ldapDN = "cn=User,ou=Profiles,ou=App_DEV,ou=ApplicationRights,O=MyCompany.COM";
$filter = "(uniqueMember=uid=" . $uid . ",ou=Users,O=MYCOMPANY.COM)";
$attr = array('uniqueMember');
$result = ldap_search($ldapConnection, $ldapDN, $filter, $attr):
$entries = ldap_get_entries($ldapConnection, $result);
ldap_unbind($ldapConnection);
return intval($entries["count"]) > 0;