Isso SEMPRE funcionou antes, então não sei por que não está funcionando agora.
Cenário
Tenho um trabalho feito em uma pasta que gostaria que um usuário diferente exibisse. Quando eles o visitam, sua combinação de nome de usuário/senha funciona, mas sempre que eles navegam para uma página diferente, eles são solicitados novamente com o prompt de login. No entanto, quando eles usam minha conta, funciona como esperado.
Pergunta
O que está acontecendo aqui e como posso contornar isso? Já fiz várias tentativas de contornar isso sem sucesso.
Notas
- Meu usuário é um usuário linux na máquina
- Seu usuário é um usuário htaccess com um registro htpasswd (SHA)
- Isso não começou a acontecer até recentemente (não estou ciente de nenhuma atualização do servidor)
- Eu tentei isso em vários navegadores, vários sistemas operacionais, vários IPs
.htaccess
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
Informações do servidor
$ 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
A autenticação básica requer que o navegador envie suas credenciais com cada solicitação HTTP e o servidor solicitará essas credenciais quando você tentar acessar uma área protegida por senha sem um nome de usuário/senha válidos.
A autenticação básica também é limitada em escopo e, quando você sai do escopo inicial, seu navegador para de enviar suas credenciais conhecidas a cada solicitação.
Por exemplo, dada uma solicitação autenticada para:
solicitações para os URIs abaixo podem usar as credenciais conhecidas:
enquanto os URIs
seria considerado fora do escopo de autenticação. Se um ou mais desses locais também estiverem protegidos por senha (por exemplo, com um arquivo .htaccess diferente), o servidor precisará solicitar ao seu navegador que forneça credenciais NOVAMENTE.
Quando o domínio é o mesmo e "realm" (o valor de
AuthName
ie"Password Required"
) é o mesmo para ambas as áreas em seu servidor web, o navegador tentará primeiro as credenciais conhecidas. Se o domínio for diferente, o navegador não usará as credenciais conhecidas, mas mostrará um prompt de login.Com autenticação aninhada e diferentes valores de "realm", mas combinações válidas de nome de usuário/senha idênticas (veja abaixo), você terá um comportamento um pouco contra intuitivo de que a ordem em que você visita o URL é importante
Primeiro vai
http://example.com/folder/docs
armazenar sua senha, mas devido a um domínio diferente, você será solicitado a fornecer uma senha quando sair do contexto original parahttp://example.com/folder
.Quando você visita pela primeira vez
http://example.com/folder
, suas credenciais são armazenadas e serão enviadas automaticamente quando você forhttp://example.com/folder/docs
, pois está no mesmo contexto. Como o servidor não precisará solicitar credenciais, seu navegador nem perceberá que é um domínio diferente agora.