如何验证 php 中的广告组成员资格
how to verify Ad group membership in php
我有一个表单供用户输入用户名和密码。然后我将这些凭据传递给一个脚本,我想在其中验证用户是否在特定的 AD 组中。我已经尝试了几个 gitHub adLDAP 项目,但 none 已经成功。 php 手册文档中的示例甚至对我不起作用(我确定我做错了)。下面是我的代码,目前它打印出 Array([count] => 0) 所以我假设搜索不工作,我不知道为什么。我已经尝试了堆栈上其他帖子的许多不同“解决方案”,但 none 已经成功。
$username = $_POST['username'];
$password = $_POST['password'];
$admin = 'xxxx';
$adminpass = "xxxxxx";
$domain = "mydomain.com";
$baseDN = "OU=ManagedUsers,DC=mydomain,DC=com";
$attr = array("displayName","sAMAccountName");
$filter ="(&(objectClass=user)(objectCategory=person)(memberof=cn=WIFI-
Users,OU=ManagedUsers,DC=hennignt,DC=com))";
$conn = ldap_connect("hennigdc01.hennignt.com");
$bind = ldap_bind($conn,$admin.'@' .$domain,$adminpass);
if ($bind){//also tried ldap_search($conn,$baseDN,"memberof=CN=WIFI-Users,{$baseDN}",$attr);
$search = ldap_search($conn,$baseDN,$filter,$attr);
$results = ldap_get_entries($conn, $search);
var_dump ($results);
} else
echo "Error in Binding";
我通过以下方法解决了这个问题,然后使用 for 循环遍历 $result 中的结果:
$baseDN = "OU=ManagedUsers,DC=hennignt,DC=com";
$filter = "(memberOf=CN=WIFI-Users,OU=ManagedGroups,DC=hennignt,DC=com)";
$attr = array("sAMAccountName");
$bind = @ldap_bind($conn,$username.'@' .$domain,$password);
if ($bind){
$wifiUser = ldap_search($conn,$baseDN,$filter,$attr);
$result = @ldap_get_entries($conn,$wifiUser);
}
我有一个表单供用户输入用户名和密码。然后我将这些凭据传递给一个脚本,我想在其中验证用户是否在特定的 AD 组中。我已经尝试了几个 gitHub adLDAP 项目,但 none 已经成功。 php 手册文档中的示例甚至对我不起作用(我确定我做错了)。下面是我的代码,目前它打印出 Array([count] => 0) 所以我假设搜索不工作,我不知道为什么。我已经尝试了堆栈上其他帖子的许多不同“解决方案”,但 none 已经成功。
$username = $_POST['username'];
$password = $_POST['password'];
$admin = 'xxxx';
$adminpass = "xxxxxx";
$domain = "mydomain.com";
$baseDN = "OU=ManagedUsers,DC=mydomain,DC=com";
$attr = array("displayName","sAMAccountName");
$filter ="(&(objectClass=user)(objectCategory=person)(memberof=cn=WIFI-
Users,OU=ManagedUsers,DC=hennignt,DC=com))";
$conn = ldap_connect("hennigdc01.hennignt.com");
$bind = ldap_bind($conn,$admin.'@' .$domain,$adminpass);
if ($bind){//also tried ldap_search($conn,$baseDN,"memberof=CN=WIFI-Users,{$baseDN}",$attr);
$search = ldap_search($conn,$baseDN,$filter,$attr);
$results = ldap_get_entries($conn, $search);
var_dump ($results);
} else
echo "Error in Binding";
我通过以下方法解决了这个问题,然后使用 for 循环遍历 $result 中的结果:
$baseDN = "OU=ManagedUsers,DC=hennignt,DC=com";
$filter = "(memberOf=CN=WIFI-Users,OU=ManagedGroups,DC=hennignt,DC=com)";
$attr = array("sAMAccountName");
$bind = @ldap_bind($conn,$username.'@' .$domain,$password);
if ($bind){
$wifiUser = ldap_search($conn,$baseDN,$filter,$attr);
$result = @ldap_get_entries($conn,$wifiUser);
}