我正在构建一个从 PHP 到 LDAP 的身份验证脚本。我的问题是,如果用户不是我的管理员,我真的不知道如何检查用户。
我不太明白ldap_bind
- 在这里我只能以我的管理员用户身份登录,但是我可以在我的 ou 中搜索其他用户,但我不知道如何检查他们的密码。
到目前为止我所拥有的:
function login($up, $pw){
$ldap = ldap_connect("dejan.local") or die("Could not connect to LDAP server.");
if ($ldap){
ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
//if I try $up and $pw here, I get an error
if ($bind = ldap_bind($ldap, "Admin", "Somepassword")){
$sr = ldap_search($ldap, "ou=testunit,DC=dejan,DC=local", "samaccountname=$up");
$info = ldap_get_entries($ldap, $sr);
//so here I've gotten information from the user $up
//but I would like to check if his password matches and then get his information
}
}
}
我查看了其他人的某种身份验证脚本,他们通过检查信息ldap_bind
,但我只能与我的管理员用户联系。