13

HTTP認証で複数のレルムをサポートした経験のある人はいますか?

MicrosoftのWebサイトには、次のように記載されています。

各認証応答ヘッダーには、使用可能な認証スキームとレルムが含まれています。複数の認証スキームがサポートされている場合、サーバーは複数の認証応答ヘッダーを返します。レルム値は大文字と小文字が区別され、プロキシまたはサーバー上の保護スペースを定義します。たとえば、ヘッダー「WWW-Authenticate:Basic Realm = "example"」は、サーバー認証が必要な場合に返されるヘッダーの例です。

これは、さまざまな認証方法を使用してWebサイトのさまざまな領域を保護できることを示しています。私たちが混乱しているのは、クライアント要求に対するサーバーの応答でどのレルムを記述する必要があるかを判断する方法です。

複数のレルムがどのように機能するかの例はありますか?

4

2 に答える 2

10

HTTP仕様では、同じヘッダー内で、または同じ応答内で複数のヘッダーを使用して、応答内に複数のWWW-Authenticateチャレンジを存在させることができます。WWW-AuthenticateWWW-Authenticate

RFC 2617のセクション4.6で説明されているように、これに関連する問題があります。理論的には、クライアントは利用可能な最も強力な認証メカニズムを選択する必要がありますが、どちらが最も強力であるかを定義することは必ずしも明白ではありません。

私は複数のレルム(および同じスキーム、たとえばBasic)を試したことがありませんが、それを禁止するものは何もありません。複数のレルムと同じスキームの主な問題は、ブラウザがユーザーインターフェイス、特にどのレルムでユーザーにチャレンジするかという点で混乱する可能性があることです。

于 2010-08-26T15:08:31.847 に答える
5

SharePointサイトを使用するときに複数の認証ヘッダーを使用する良い例が1つあります。Sharepointは、最初に接続するときにネゴシエートとNTLMの両方を提供します。

FirefoxはNTLMを選択しますが、Chromeはネゴシエートを選択します。

また、Chromeは常に他のリクエストと一緒にAuthorizationヘッダーを送信しますが、FirefoxはNTLMチャレンジ応答プロトコルのために最初にのみ送信します。詳細については、こちらをご覧くださいhttp://www.innovation.ch/personal/ronald/ntlm.html

于 2013-04-09T06:33:14.077 に答える