Precisei requisitar autenticação em uma página e a situação fazia com que o mais lógico e conveniente fosse implementá-la no apache.
O SO desse caso é um debian etch(não posso atualizar, não é escolha minha) com apache2.
Primeiro criei o arquivo .htaccess dentro da pasta onde eu queria exigir autenticação:
vim /var/www/pastaquetuprecisadeautenticacao/.htaccess
O conteúdo dele deve ser o seguinte:
AuthType Basic
AuthName "Digite usuário e senha"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
Satisfy Any
Algumas explicações caem bem:
linha 1: Isso significa que vou usar o tipo Base64 de transferência (que não é criptografado e sim codificado e é facilmente decodificado, explicarei aspectos básicos relacionados a segurança logo mais neste tutorial)
linha 2: Lembram da mensagem de resposta HTTP?
WWW-Authenticate: Basic realm="Digite seu usuário e senha"
Esta linha adiciona o rótulo da mensagem do Realm
linha 3: Digo que ele buscará a senha do arquivo de senhas /etc/apache2/.htpasswd
linha 4: Requer que exista um usuário válido a ser autenticado
linha 5: Satisfy pode ter dois valores All ou Any,
o All diz que o usuário tem que passar na restrição de acesso (Required ou Allow, no nosso caso required) E entrar com um usuário e senha válidos para realizar a autenticação
o Any diz que o usuário tem que passar na restrição de acesso OU entrar com um usuário e senha válidos para realizar a autenticação.
Agora temos de criar o arquivo de senhas que foi definido anteriormente:
# htpasswd -c /etc/apache2/.htpasswd nomedousuario
Vai ser pedida a senha para o usuario, é só digitar e repetir.
Reinicia o apache com /etc/init.d/apache2 restart
Para testar vá ao navegador e acesse:
http://dominiodoservidor/pastaquetuprecisadeautenticacao
Se tudo deu certo vai ser exigido que tu informe o usuário e a senha que foram definidos.
Link da dica que me ajudou:
http://www.dicas-l.com.br/dicas-l/20090717.php
Fiz todos os passos mas continua passando direto. =/ Onde posso mexer mais??
ResponderExcluirCara, com isso ae funciona, pelo que eu lembro relatei passo-a-passo a maneira que funcionou.
ResponderExcluirO link do final da postagem foi o que me ajudou, porém, tive que adequar ao meu contexto e tentar algumas vezes, e era eu que tava errando.
Resumindo, a postagem é o básico para o desenvolvimento da atividade, tens que adequar ela ao teu contexto.
Talvez se tu enviar mais detalhes do teu sistema e conjuntos de configurações fique mais fácil de te ajudar.
Abração.