当我只有SamAccountName和Password时,如何使用LDAP从PHP进行身份验证?有没有一种方法来绑定只有SamAccountName和密码,没有专有名称。我发现的唯一示例假设您拥有DN:仅使用SamAccountName和Password验证来自PHP的来自PHP的用户身份?
$server="XXX.XXX.XXX.XXX";
$dn = "cn=$username, ";
$basedn="ou=users, ou=accounts, dc=domain, dc=com";
if (!($connect = ldap_connect($server))) {
die ("Could not connect to LDAP server");
}
if (!($bind = ldap_bind($connect, "$dn" . "$basedn", $password))) {
die ("Could not bind to $dn");
}
$sr = ldap_search($connect, $basedn,"$filter");
$info = ldap_get_entries($connect, $sr);
$fullname=$info[0]["displayname"][0];
$fqdn=$info[0]["dn"];
必须在DN中始终有一个用户名或cn?是否有可能让代理用户进行身份验证,然后搜索samAccountName和密码? – user840930
或者有没有办法找到DN,尤其是SamAccountName的用户名? – user840930
通常,如果您不知道用户DN,则必须使用有效的LDAP用户(如您所说的代理用户)进行身份验证。您应遵循以下步骤:1.-使用代理用户进行身份验证,2.在筛选器中使用SamAccountName搜索真实用户,3.检索真实用户DN,4.使用检索到的用户DN和您拥有的密码再次进行身份验证 –