私は大学のプロジェクトに取り組んでいます。大学では、使用するすべてのログイン/情報を LDAP に保存し、PHP 経由で取得する必要があります。通常は、ユーザーが入力した資格情報 (つまり、個々のユーザーのユーザー名とパスワード) を使用して LDAP 接続をバインドするだけですが、LDAP でユーザー名/パスワードを認証し、「承認されたアカウント」で接続を再バインドする必要があります。 " 部門から提供されたユーザー名とパスワードを入力し、認証されたアカウントから LDAP 検索を実行します。
基本的に、ユーザーが LDAP に存在することを確認するためだけに、ユーザーのログイン/パスワードを使用する必要があります。そうである場合は、別のアカウントのユーザー名/パスワードに切り替えて、ユーザーの情報から LDAP 検索を実行する必要があります。
どうすればいいですか?この方法で再バインドする方法はわかりませんが、ユーザーに対して適切な検索を実行します。
編集: LDAP アカウントの再バインドは、最初のバインド ステートメントの後に 2 番目のバインド ステートメントを含めるのと同じくらい簡単ですか? 元;
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()
ますか?