質問: PHPアプリケーションからユーザーのWindowsユーザー名を取得するにはどうすればよいですか? 私がここに投稿する理由は、これを達成するためにどのような特定の要件が満たされなければならないかはまだ分かりません。 私たちはPHPアプリケーションをiSeries Apache Webサーバー上で実行します。私たちのすべてのユーザーはIEになっています。私たちは会社ネットワーク内のユーザ名にADを使用します。 現在のApacheサーバーの設定では、ユーザーが我々のページにログインする必要はありません。ネットワークに接続している場合は、そのページにアクセスできます。 ログオンしたWindowsのユーザー名を取得する方法はありますか(LDAPまたは他の方法による)?最後の最後の手段は、ユーザーをWindowsサーバー上でホストされているASP.NETサイトにリダイレクトし、ユーザー名をPHPアプリケーションに戻すことです。しかし、これもまた最後の手段です。 ここのリンク: Windows(AD)のユーザー名をPHP?にはかなりの提案がありますが、AUTH_USER変数はリンクに記載されているとおり空であり、iSeries ApacheサーバーはWindows統合認証を実装できるとは思いません。 誰かが自分の選択肢を説明し、(可能であれば)それらの選択肢の難しさを説明することができれば、それは歓迎されるだろう。私がLDAPやサーバー設定に慣れていないので、できるだけ具体的に記述してください。
回答: PHPアプリケーションのSSO処理に関する私の経験から、mod_auth_ntlmとKerberosの組み合わせを使ってこの作業を行うことができます(このリンクは、私の覚えているものに非常に近いものですが、オリジナルの設定は5年前のGentooボックスでした。正しくリコールすれば、この設定の `$ _ SERVER ["REMOTE_USER"]` 変数でユーザー名を見つける必要があります。