基本認証の「レルム」とは


307

私はphpサイトで基本認証を設定しており、設定を示すphpマニュアルでこのページを見つけました。ここでヘッダーの「レルム」とはどういう意味ですか?

header('WWW-Authenticate: Basic realm="My Realm"');

リクエストされているページはありますか?

回答:


284

RFC 1945(HTTP / 1.0)およびRFC 2617(HTTP / 1.1によって参照されるHTTP認証)から

チャレンジを発行するすべての認証スキームには、レルム属性(大文字と小文字を区別しない)が必要です。アクセスされるサーバーの正規ルートURLと組み合わせて、レルム値(大文字と小文字を区別)が保護スペースを定義します。これらのレルムを使用すると、サーバー上の保護されたリソースを、それぞれ独自の認証スキームや承認データベースを持つ一連の保護スペースに分割できます。レルム値は文字列であり、通常はオリジンサーバーによって割り当てられます。認証スキームに固有の追加のセマンティクスを持つ場合があります。

つまり、同じレルム内のページは資格情報を共有する必要があります。資格情報が「マイレルム」のレルムを持つページで機能する場合、同じユーザー名とパスワードの組み合わせが同じレルムの別のページでも機能すると想定する必要があります。


7
一部のサーバーは、認証の課題に領域を提供していません。
orkoden 2013年

5
IISで作業するとき、(同じサイトの下の)異なる仮想フォルダーに異なるレルムを構成します。しかし、これが正しいかどうかはわかりません。しかし、それは私にとってはうまくいくようです。別のレルムの仮想フォルダーにアクセスすると、資格情報の入力を求められました。
smwikipedia

1
注:RFC 2617はRFC 7235
Hawkeye Parker

117

レルムは、資格情報が使用される領域(特定のページではなく、ページのグループである可能性があります)と見なすことができます。これは、ブラウザがログインウィンドウをポップアップしたときに表示される文字列でもあります。

のユーザー名とパスワードを入力してください<realm name>

レルムが変更されると、その特定のレルムの資格情報がない場合、ブラウザに別のポップアップウィンドウが表示されることがあります。


レルムの下のページをグループ化する方法は?
Green

@Green .htaccess階層によって移動するため、特定のディレクトリの下にあるものすべてに同じレルムを与えることができます。
ジャック

1
@ジャック、私は単純に、特定のレルムを持つ認証ヘッダーを持つすべてのページがそのレルムにあり、他のルールはないと考えました。私が間違っている?

15

RFC 7235によると、このrealmパラメーターは保護スペース(資格情報が必要なページまたはリソースのセット)を定義するために予約されており、認証スキームによって保護の範囲を示すために使用されます。

詳細については、下の引用を参照してください(ハイライトはRFCにはありません)。

2.2。保護スペース(レルム)

「レルム」認証パラメータは、保護の範囲を示したい認証スキームによる使用のために予約されています

保護スペースは、アクセスされているサーバーの正規ルートURI(有効な要求URIのスキームおよび権限コンポーネント)と、存在する場合はレルム値との組み合わせによって定義されます。 これらのレルムを使用すると、サーバー上の保護されたリソースを、それぞれ独自の認証スキームや承認データベースを持つ一連の保護スペースに分割できます。 レルム値は文字列であり、通常はオリジンサーバーによって割り当てられ、認証スキームに固有の追加のセマンティクスを持つことができます。応答には、同じauth-schemeで異なるレルムを持つ複数のチャレンジが含まれる可能性があることに注意してください。[...]


注1: HTTP認証のフレームワークは、現在RFC 7235によって定義されています。これにより、RFC 2617が更新され、RFC 2616は廃止されます。

注2:このrealmパラメータは、チャレンジでは常に必要ではなくなりました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.