當我只有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和您擁有的密碼再次進行身份驗證 –