Apache .htaccess truque para autenticar apenas uma vez para todos os subdomínios?

1

Estou usando algo assim no arquivo .htaccess para restringir o acesso ao site:

AuthUserFile /some/directory/.passwd
AuthGroupFile /dev/null
AuthName EnterPassword
AuthType Basic
require valid-user

Isso funciona bem, mas o usuário é solicitado a autenticar cada vez que um subdomínio é alterado, como user1.mywebsite.com, user2.mywebsite.com ou apenas mywebsite.com

Existe uma maneira de dizer ao Apache2 que quando um usuário é autenticado em um subdomínio, ele deve conceder a ele acesso a todos os outros também?

    
por michuk 06.09.2009 / 12:33

3 respostas

1

Não é possível; você pode usar um único arquivo .htaccess para conceder acesso a qualquer coisa em sua árvore de diretórios com as mesmas credenciais, mas a autenticação é necessária para cada subdomínio exclusivo.

Como Benny aponta, você precisará de autenticação baseada em sessão de alguma forma para conseguir isso.

    
por 11.09.2009 / 16:42
3

É impossível fazer isso por meio de especificações básicas de autenticação. Os domínios bob.example.com e elisa.example.com são dois espaços de proteção diferentes e quase todos os navegadores os tratarão como dois domínios separados e diferentes aos quais as credenciais de autenticação diferentes devem ser fornecidas.

No entanto, há solução - autenticação de resumo HTTP. Ele permite que você especifique todos os domínios que são URLs no espaço de proteção. No entanto, ele não permite subdomínios de caractere curinga, portanto, após dezenas de domínios, ele obtém um PITA bastante. Exemplo de configuração.

<Location />
  AuthType Digest
  AuthName "teh realm"
  AuthDigestAlgorithm MD5
  AuthDigestDomain / http://domain.com/ http://subdomain.domain.com/ 
  AuthDigestQop auth
  AuthDigestProvider file
  AuthUserFile /etc/apache2/.htpasswd-digest
</Location>

IMO, que sua única opção é escrever o próprio autenticador FastCGI que os usuários cookies, que permitem subdomínios curinga. Se você tem poucos domínios, é mais fácil ficar com o resumo.

    
por 07.09.2009 / 02:18
0

Todos os subdomínios estão sendo veiculados em subpastas do mesmo docroot? Se forem, parece que colocar essa autenticação no .htaccess do docroot primário pode atenuar a autenticação repetida.

Como alternativa (embora possa ser necessário algum trabalho de desenvolvimento para seu usuário), você pode tentar a autenticação baseada em sessão.

link

    
por 06.09.2009 / 22:13