Diretório protegido por senha com o Apache: “não foi possível verificar o usuário. Verifique seu provedor de authn! ”

3

Estou tentando proteger com senha um diretório da web com o apache. Eu tenho o site configurado assim:

D:/
   webapp/
      lib/
         .htpasswd
   document_root/
      admin/
         index.php
         .htaccess

O .htaccess tem:

AuthName "Authorization Required" 
AuthType Basic 
AuthUserFile D:\webapp\lib\.htpasswd
require valid-user

E o .htpasswd tem:

user:passworddigest

Quando tento acessar localhost/index.php no navegador, recebo um erro 500. O log de erro do apache tem isto:

["date"] [crit] [client "ip"] configuration error:  couldn't check user.  Check your authn provider!: /admin/

Eu pesquisei, mas não consigo descobrir o que esse erro significa no contexto do meu servidor. Alguém sabe o que está acontecendo? Além disso, resolveria meu problema se alguém tivesse um método simples de usar o apache para autenticar um diretório da web em um servidor Windows.

    
por Explosion Pills 19.06.2011 / 21:09

3 respostas

1

Se não for um problema de permissões como Jim B sugerido acima (também suspeito disso), talvez você não tenha carregado o módulo authn no Apache - mod_authn. Eu não sei como fazer isso no Windows, mas tenho certeza de que, se você pesquisar no Google, descobrirá como isso é feito.

    
por 19.06.2011 / 22:47
0

Eu acho que você tem o tipo de autenticação errado ( AuthType Basic ) no seu .htaccess, olhando para o seu .htpasswd ele me diz que a senha está configurada por htdigest & não htpasswd (corrija-me se estiver errado) e, portanto, o erro de configuração.

Para resolver isso, tente o seguinte .htaccess info & o problema deve desaparecer:

AuthName "Authorization Required" 
AuthType Digest
AuthUserFile D:\webapp\lib\.htpasswd
require valid-user

Mas eu sugiro que você use o método acima, pois o password is transmitted in MD5 Digest in the network whereas AuthType Basic 'transfere a senha em um texto limpo.

Mas, se você insistir em ter AuthType Basic , tente o seguinte .htaccess :

AuthName "Authorization Required" 
AuthType Basic
AuthUserFile D:\webapp\lib\.htpasswd
require valid-user

& crie a htpassword no seguinte link:

http://www.htaccesstools.com/htpasswd-generator/

e atualize seu arquivo .htpasswd .

    
por 21.06.2011 / 06:30
0

Eu não fiz isso no Windows, mas tente habilitar o módulo auth_digest no seu arquivo httpd.conf, descomentando esta linha, se estiver comentado. Eu sei que está desativado por padrão:

LoadModule auth_digest_module modules/mod_auth_digest.so
    
por 25.03.2013 / 19:17