0

私の Web アプリケーションはダイジェスト認証を使用しています。サーバー側にはユーザーパスワードはありません。ここで、LDAP でユーザーを認証する必要があります。

出来ますか?.Net/C# の例はありますか?

Digest 実装アルゴリズムを変更できますが、要件により Basic またはその他の認証に変更できません。

編集:私が見る限り、AuthType.Digest に設定できる System.DirectoryServices.Protocols.LdapConnection.AuthType プロパティがあります。この設定を使用するにはどうすればよいですか?

4

2 に答える 2

0

短い答え:いいえ。

LDAP 認証ルーチンにプレーンテキストのパスワードをプログラムで提供する必要がありますが、これは Digest から取得することはできません。これが Digest のポイントのようなものです。

私が考えることができる唯一の回避策は、高レベルのアカウントで LDAP に接続し、ユーザーがそれを使用して実行しようとしていることができるかどうかを確認することです。

LDAP を使用してユーザーのログインを検証しようとしている場合は、少し面倒です。これが、AD に対して認証するほとんどの Web サービスが HTTPS 経由の基本認証であるか、NTLM 認証を使用する理由です...

于 2011-08-17T14:06:32.177 に答える
0

あなたが何か新しいものを建てるなら、それは可能かもしれません。

ユーザーを作成するときに、HA1 を LDAP の属性として追加できます。HA1 = HTTP ダイジェストの MD5 (ユーザー名: レルム: パスワード)。

次に、ユーザーが Web サーバーにアクセスし、Authorization ヘッダーを提供します。LDAP から HA1 を使用して認証を再構築し、結果を比較することもできます...ただし、システム管理者の資格情報を使用してユーザーの HA1 値にアクセスする必要がありますが、これは最善の方法ではありません。

于 2012-07-31T17:41:34.007 に答える