如何使用PHP搜索广告安全组中的成员

如何使用PHP搜索广告安全组中的成员,php,ldap,Php,Ldap,我目前正在使用PHP开发一个布告板应用程序。我现在只想允许员工添加到它,所以我需要找出当前用户是什么安全组(在AD中),例如,员工有自己的组,学生也有自己的组。我想使用基于Windows的身份验证来获取他们的用户名,并在广告组中查询该用户名。我已经试过了所有我找到的答案,但没有任何帮助 到目前为止,我有以下代码: <?php //Declare Vars $domain = 'doamin.local'; $username = 'admin'; $password = ""; $ldap

我目前正在使用PHP开发一个布告板应用程序。我现在只想允许员工添加到它,所以我需要找出当前用户是什么安全组(在AD中),例如,员工有自己的组,学生也有自己的组。我想使用基于Windows的身份验证来获取他们的用户名,并在广告组中查询该用户名。我已经试过了所有我找到的答案,但没有任何帮助

到目前为止,我有以下代码:

<?php
//Declare Vars
$domain = 'doamin.local';
$username = 'admin';
$password = "";
$ldapconfig['host'] = 'hostname';
$ldapconfig['port'] = 389;
$ldapconfig['basedn'] = 'dc=domain,dc=local';
$dn = 'dc=domain,dc=local';
//Connect to AD
$ds=ldap_connect($ldapconfig['host'], $ldapconfig['port']);
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
$bind=ldap_bind($ds, $username .'@' .$domain, $password);
    if ($bind) {
        echo "LDAP bind successful...";
        //Query for group membership
              $search = ldap_search($ds, $dn, "(samaccountname=w10student)", ['memberOf']);
              $enr = ldap_get_entries($ds, $search);

    } else {
        echo "LDAP bind failed...";
    }

      print_r($enr);

?>

现在它将所有组打印到一个数组中,我需要一个if语句来判断数组是否包含一个组,然后设置一个变量 谢谢你的帮助

非常感谢,


Conor

这没有帮助:?告诉我们你尝试了什么,显示日志或结果,然后读:我已经更新了我的帖子。ThanksI我试图使用“in_array”语句,但没有运气,代码如下:if(in_array(“CN=staff2,OU=Admin,OU=Groups,DC=oakwood,DC=school,$enr)){echo“staff”;}else{echo“not staff”;}