2

重複の可能性:
phpでWindows認証を使用していますか?

ActiveDirectoryに保存されている情報をユーザーが表示できるようにするphpイントラネットWebアプリケーションを作成しました。

私のアプリケーションは完全に機能しますが、ユーザーが自分の情報を表示する前に、Windowsのクレデンシャルを使用してログインする必要があります。

ユーザーがWindowsにログインしたときに入力したWindowsクレデンシャルを使用して、ActiveDirectoryを介してユーザーを自動認証したいと思います。

NTLM witchを使用して現在のユーザーのユーザー名を取得できました。この記事で説明されています: http ://siphon9.net/loune/2007/10/simple-lightweight-ntlm-in-php/

ADからユーザー属性を取得するにはLDAPを使用する必要があることを知っています。

私はそれを行う方法を知っていますが、問題は次のとおりです。

@ldap_bind関数で使用するには、現在のユーザーパスワードが必要です。

現在のユーザーのパスワードを取得する方法はありますか?

私はWindows7で作業しています。Apatch2.2、php5を使用しています。

前もって感謝します。

4

1 に答える 1

2

いいえ、ActiveDirectoryからユーザーのパスワードを取得することはできません。それが可能であれば、どのプログラムよりもパスワードを取得して変更することができます。

パスワードを要求せずにActiveDirectoryにクエリを実行する場合は、いくつかのオプションがあります。

  1. PHPでこれを行う方法はわかりませんが、IISを使用すると、統合Windows認証と委任を使用できます。これは設定が困難です。

  2. クエリを実行するだけなので、特別な権限を持たないWebサイトのアカウントを作成するだけです。このハードコードされたパスワードを使用してください。

  3. ActiveDirectoryへの匿名アクセスを有効にします。これにより、ユーザー名とパスワードにnullを使用できるようになります。ただし、ベストプラクティスでは、これを行わないようにしています。

于 2012-12-22T14:12:14.843 に答える