Pergunta

Eu tenho uma estrutura como esta:

/home
/home/dir1
/home/dir2

Agora, quando alguém vai para / home, ele é convidado para nome de usuário e senha (de forma) e eu as informações da sessão set em PHP para os arquivos restantes do / home. Agora / home / dir1 e / home / dir2 são protegidos por htpasswd mas o mesmo nome de usuário e senha. Eu não quero que o usuário re-inserir seu nome de usuário e senha novamente quando eles vão para / home / dir1 ... Também quando eu sair de / para casa, eu quer sair de / home / dir1 também. Você pode por favor conselhos sobre como conseguir isso?

Foi útil?

Solução

Este deve ser o comportamento padrão.

Isto é, se você estiver usando Apache e arquivos .htaccess para configurar a autenticação HTTP, quaisquer regras que se aplicam a um diretório também será aplicada aos seus diretórios filho, e ele será tratado pelo navegador como todos um login.

Se você quer que agem de forma diferente, ou seja, se você queria algumas seções do local a ser tratado como exigindo um login completamente separado, você deve especificar um 'reino' para cada seção usando a diretiva AuthName no .htaccess. Mais informações aqui . No entanto, se você não fizer isso, ele vai ser sempre tratados como todos parte do mesmo login.

A coisa sobre HTTP autenticação é que não há nenhuma maneira de 'log out', pelo menos não a menos que o navegador fornece esse recurso. A única maneira que a maioria dos navegadores permite que você faça seu logout é terminando a sessão do navegador (ou seja, fechar o navegador). E sim, uma vez que você fizer isso, você será desconectado do / home, / home / dir1, / home / dir2 e todos os diretórios em todos os sites / domínios.

Outras dicas

Em Apache, desde que ambas as pastas têm o mesmo AuthName e estão no mesmo local que eles devem compartilhar uma senha.

Ambos os diretórios pode ter um arquivo .htaccess assim:

AuthName "My Protect Folder"
AuthType basic
AuthUserFile /somewhere/htusers
require valid-user
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top