-1

ユーザーが PHP を使用して企業ネットワークのイントラネットにログインしたときに、ユーザー名、ID 番号、電子メールなどのユーザーの詳細をどこで取得するか、またはどのように取得するかを知りたいです。

これらの詳細を使用して、開発中の Web アプリケーションに対してユーザーを自動的に認証したいと考えています。

AUTH_USER について読みましたが、どこで、またはどのように変数にアクセスできますか?

4

1 に答える 1

1

PHP LDAP関数を使用して、必要なことのほとんどを実行できます。唯一の落とし穴は、ユーザーごとに固有のアイテムを入手する必要があるということです。もう少し調査する必要がありますが、ApacheではなくIISをWebサーバーとして使用する場合、相手のログオン/ユーザー名を取得するための癖やトリックがあると確信しています。次に、を使用して次の方法でLDAPに対してクエリを実行します。

<?php
// $ds is a valid link identifier for a directory server

// $person is all or part of a person's name, eg "Jo"

$dn = "o=My Company, c=US";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array("ou", "sn", "givenname", "mail");

$sr=ldap_search($ds, $dn, $filter, $justthese);

$info = ldap_get_entries($ds, $sr);

echo $info["count"]." entries returned\n";
?>

ApacheはAUTH_USERを空白として返すだけです。回避策は、ログオンの1回限りの要求を作成し、それをCookieに保存し、同じLDAPクエリを使用してユーザーに関する最新情報を取得することです。

于 2012-08-15T06:31:43.133 に答える