Раньше это ВСЕГДА работало, поэтому я не уверен, почему это не работает сейчас.
Сценарий
У меня есть работа, проделанная в папке, которую я бы хотел, чтобы другой пользователь просматривал. Когда они посещают его, их комбинация имени пользователя и пароля работает, но всякий раз, когда они переходят на другую страницу, им снова предлагается запрос на вход. Однако, когда они используют мою учетную запись, она работает должным образом.
Вопрос
Что здесь происходит и как я могу это обойти? Я предпринял несколько попыток обойти это безуспешно.
AuthUserFile /var/www/.htpasswd
AuthType Basic
AuthName "Password Required"
Require user jackson david
Order Deny,Allow
Deny from All
# jackson home
Allow from xx.xx.xx.219
Satisfy Any
$ apache -v
Server version: Apache/2.4.7 (Ubuntu)
Server built: Jul 15 2016 15:34:04
$ lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
Обычная проверка подлинности требует, чтобы браузер отправил ваши учетные данные с каждый HTTP-запрос, и сервер предложит вам их, когда вы попытаетесь получить доступ к защищенной паролем области без действительного имени пользователя / пароля.
Базовая аутентификация также ограниченный объем и когда вы выходите за пределы начальной области, ваш браузер перестает отправлять ваши известные учетные данные с каждым запросом.
Например, учитывая аутентифицированный запрос к:
http://example.com/folder/docs/index.html
запросы к приведенным ниже URI могут использовать известные учетные данные:
http://example.com/folder/docs/
http://example.com/folder/docs/test.doc
http://example.com/folder/docs/?page=1
http://example.com/folder/docs/archive/1999/old.doc
в то время как URI
http://example.com/folder/other/
http://example.com/folder/
http://example.com/
https://example.com/folder/docs/
^
будет считаться выходящим за рамки аутентификации. Если одно или несколько из этих мест также защищены паролем (например, с помощью другого файла .htaccess), серверу нужно будет снова запросить ваш браузер ввести учетные данные.
Когда домен совпадает и "царство" (значение AuthName
т.е. "Password Required"
) одинаково для обеих областей на вашем веб-сервере, браузер сначала попробует известные учетные данные. Если область отличается, браузер не будет использовать известные учетные данные, но отобразит приглашение для входа в систему.
С вложенной аутентификацией и разными значениями "области", но с идентичными допустимыми комбинациями имени пользователя и пароля (см. Ниже) вы получите несколько противоречащее интуитивно понятному поведению, что порядок, в котором вы посещаете URL-адрес, имеет значение.
URL Authname Valid Users
http://example.com/folder "Private" jackson
http://example.com/folder/docs "Password Required" jackson david
Сначала собираюсь http://example.com/folder/docs
будет хранить ваш пароль, но из-за другой области вам будет предложено ввести пароль, когда вы выйдете за пределы исходного контекста в http://example.com/folder
.
При первом посещении http://example.com/folder
ваши учетные данные сохраняются и будут отправлены автоматически, когда вы перейдете в http://example.com/folder/docs
поскольку это находится в том же контексте. Поскольку серверу не нужно будет запрашивать учетные данные, ваш браузер даже не заметит, что теперь это другая область.