Autenticação bem sucedida Não requer linha disponível

4

Atualizando para o Ubuntu 14.04 (e Apache2 2.4) eu não posso usar o MySQL como htaccess;

Antes de atualizar eu estava usando o MySQL como htaccess no host virtual - funcionou muito bem:

<Directory /var/www/html/tilmelding/login>
           AuthBasicAuthoritative Off
            AuthUserFile /dev/null

            # begin auth_mysql configuration
            AuthMySQL On
            AuthMySQL_Host localhost
            AuthMySQL_User **********
            AuthMySQL_Password *********
            AuthMySQL_DB **********
            AuthMySQL_Password_Table user_info
            AuthMySQL_Username_Field user_name
            AuthMySQL_Password_Field user_passwd
            AuthMySQL_Empty_Passwords Off
            AuthMySQL_Encryption_Types PHP_MD5
            AuthMySQL_Authoritative 
            AuthType Basic
            AuthName "auth_mysql test"
            Require valid-user

Após a atualização, não funcionou.

No arquivo de log eu tenho:

[:debug] [pid 31333] mod_auth_mysql.c(1578): Constructing password collection query with passfield=[user_passwd], table=[user_info], userfield=[helgoland], where_clause=[]
[:debug] [pid 31333] mod_auth_mysql.c(1410): sec->dbh in /var/www/html/tilmelding/login/ is 
[:debug] [pid 31333] mod_auth_mysql.c(1417): Ordinary query
[:debug] [pid 31333] mod_auth_mysql.c(1434): Running query: [SELECT user_passwd FROM user_info WHERE user_name='helgoland']
[:debug] [pid 31333] mod_auth_mysql.c(1522): Checking with PHP_MD5
[:debug] [pid 31333] mod_auth_mysql.c(1524): Auth succeeded
[:error] [pid 31333] No requires line available

Eu posso fazer a consulta da CLI e recuperar um MD5.

O que eu perdi?

    
por user286223 28.05.2014 / 19:50

3 respostas

2

Basta adicionar AuthMySQL_Authoritative Off ao .htaccess

    
por Daniyal 26.02.2015 / 13:51
1

Eu me deparei com exatamente o mesmo problema, então me deparei com este post.

Para quem acaba aqui, esta é a minha conclusão.

Depois de pesquisar mais na net, a maioria das pessoas parece concluir que o lib-apache2-mod-auth-mysql é incompatível com o Apache 2.4 (padrão no Ubuntu 14.04) Além disso, o suporte para este módulo parou.

Alguns sugerem que a recompilação (versão 3.0.0) com alguns patches resolve o problema. Mas isso parece bastante "hacky".

A maneira oficial do "Apache" para usar autenticação / autorização básica usando o MySQL é usar o módulo dbd (mod_authn_dbd). Como fazer isso é explicado claramente na documentação oficial do Apache. link .
Esta documentação está licenciada sob a licença Apache. link

Portanto, esteja ciente de que, embora você possa instalar o lib-apache2-mod-auth-mysql com o apt-get no Ubuntu 14.04 LTS, isso provavelmente é evitado, já que é inerentemente quebrado para esta versão.

    
por Joost 29.06.2014 / 16:03
0

AuthMySQL_Authoritative Off também funcionou para mim (como uma linha na configuração Virtualhost). Acredito que permite que mod_auth_mysql passe as credenciais para mod_auth para autenticação.

    
por Prof-Librarian 16.07.2016 / 05:38

Tags