2009-04-03 14 views
1

IntraのWebサイトでは、すべてのIEセキュリティ設定が設定されています。私は、ユーザーがログインしている現在のADユーザー名を取得したい。私はコンピュータ上の人が既にプロセスを経ていると仮定しているので、認証する必要はありません。PHPからの現在のActive Directoryユーザー名の取得

これも可能ですか?私は認証方法を示すNTLM関連のものをたくさん見てきましたが、私が避けようとしているプロンプトボックスなしで、現在の認証されたユーザー名を簡単に引き出すことはできません。

サーバーの設定は、Apacheを搭載したWindowsサーバーです。 Linuxマシンで簡単に実行できるのであれば、そこにも移動できます。

答えて

3

質問に記載されているとおり、IEはWindows統合認証を許可するように構成する必要があります。これを行うと、基本的には、(通常はイントラネットゾーンのサイトに限定されます)を要求するサイトに資格情報/トークンを提供する許可がIEに与えられます。あなたのウェブサイトはこれらの資格情報を要求しなければならないことに注意してください(IISではチェックボックスをチェックするだけです)。 Apacheでは、WebサーバーにNTLM認証サポートを追加するApacheモジュールを見つける必要があります。クイックGoogle検索ではいくつかのモジュールが明らかになりましたが、特に最新のものはありませんでした。 Apache NTLMモジュールを稼動させると、$_SERVER['AUTH_USER']でユーザー名にアクセスできると思われます。

+0

Apache用のモジュールも見つかりました。しかし、彼らはADに対してもう一度認証したいと考えています。これは私がしたいことではありません。私はちょうどそれがトークンのためのIE(モジュールが行うことができます)に挑戦し、私はそれからユーザー名を引き出すことができます。 –

関連する問題