我正在为一所大学做一个项目。大学要求所有使用登录名/信息都存储在 LDAP 中并通过 PHP 检索。通常我只会将 LDAP 连接与用户输入的凭据绑定(因此个人用户的用户名和密码),但是现在我需要使用 LDAP 验证他们的用户名/密码,然后使用“授权帐户”重新绑定连接" 部门提供的用户名和密码,然后从经过身份验证的帐户执行 LDAP 搜索。
基本上我需要使用用户的登录名/密码来确保它们存在于 LDAP 中。如果是,那么我们必须切换到不同的帐户用户名/密码来执行用户信息的 LDAP 搜索。
我该怎么做?我不知道如何以这种方式重新绑定,但仍然对用户执行正确的搜索。
编辑:重新绑定 LDAP 帐户是否像在第一个绑定语句之后包含第二个绑定语句一样简单?前任;
if (!($bind=@ldap_bind($connect, "uid=".$username.",ou=*****,dc=***,dc=edu", "$password")))
{
ldap_close($connect);
echo "there was an error binding your LDAP account.";
}
else // else we have binded to the ldap connection as the user, we must re-bind as the authorized account
{
if (!($bind=@ldap_bind($connect, "uid=".$authUN.",ou=******,dc=***,dc=edu", "$authPW")))
{
ldap_close($connect);
echo "There was a problem binding to the authorized account.";
}
else // now we have binded with the authenticated account
{
echo "success!";
}
}
..然后我会通过正常执行搜索ldap_search()
?