Что такое «сфера» в базовой аутентификации


307

Я настраиваю базовую аутентификацию на php-сайте и нашел эту страницу в руководстве по php, показывающую настройку. Что значит "царство" здесь в заголовке?

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

Это запрашиваемая страница?

Ответы:


284

Из RFC 1945 (HTTP / 1.0) и RFC 2617 (HTTP-аутентификация, на которую ссылается HTTP / 1.1)

Атрибут области (без учета регистра) требуется для всех схем аутентификации, которые вызывают вызов. Значение области (с учетом регистра) в сочетании с каноническим корневым URL-адресом сервера, к которому осуществляется доступ, определяет пространство защиты. Эти области позволяют разделить защищенные ресурсы на сервере на набор защитных пространств, каждое со своей собственной схемой аутентификации и / или базой данных авторизации. Значение области - это строка, обычно назначаемая исходным сервером, которая может иметь дополнительную семантику, специфичную для схемы аутентификации.

Короче говоря, страницы в одной и той же области должны иметь общие учетные данные. Если ваши учетные данные работают для страницы с областью «Моя область» , следует предположить, что такое же сочетание имени пользователя и пароля должно работать для другой страницы с той же областью.


7
Некоторые серверы не предоставляют возможности для проверки подлинности.
orkoden

5
Когда я работаю с IIS, я настраиваю разные области для разных виртуальных папок (на одном сайте). Но я не уверен, правильно ли это. Но это похоже на работу для меня. Когда я посещал виртуальную папку для другой области, я получал запрос на ввод учетных данных.
smwikipedia

1
Примечание: RFC 2617 был обновлен (НЕ устарел) RFC 7235
Соколиный Глаз Паркер

117

Область можно рассматривать как область (не конкретную страницу, это может быть группа страниц), для которой используются учетные данные; это также строка, которая будет отображаться, когда браузер откроет окно входа в систему, например

Пожалуйста, введите ваше имя пользователя и пароль для <realm name>:

Когда область изменяется, браузер может показать другое всплывающее окно, если у него нет учетных данных для этой конкретной области.


Как сгруппировать страницы под областью?
Зеленый

@Green .htaccessИдет по иерархии, поэтому все, что находится в определенном каталоге, может быть присвоено одной и той же области.
Яцк

1
@ Джек, я наивно думал, что все страницы с заголовком аутентификации с данной областью находятся в этой области, и нет никаких других правил. Я ошибся?

15

Согласно RFC 7235 , realmпараметр зарезервирован для определения защитных пространств (набор страниц или ресурсов, где требуются учетные данные), и он используется схемами аутентификации для указания объема защиты .

Для получения более подробной информации см. Цитату ниже (основные моменты отсутствуют в RFC):

2.2. Пространство Защиты (Царство)

Параметр аутентификации "realm" зарезервирован для использования схемами аутентификации, которые хотят указать объем защиты .

Пространство защиты определяется каноническим корневым URI (компоненты схемы и полномочий действующего URI запроса) сервера, к которому осуществляется доступ, в сочетании со значением области, если таковое имеется. Эти области позволяют разделить защищенные ресурсы на сервере на набор защитных пространств, каждое со своей собственной схемой аутентификации и / или базой данных авторизации. Значение области - это строка, обычно назначаемая исходным сервером, которая может иметь дополнительную семантику, специфичную для схемы аутентификации. Обратите внимание, что ответ может иметь несколько проблем с одной и той же схемой аутентификации, но с разными областями. [...]


Примечание 1: Структура для аутентификации HTTP в настоящее время определяется RFC 7235 , который обновляет RFC 2617 и делает RFC 2616 устаревшим.

Примечание 2:realm параметр больше не требуется всегда на вызовы .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.