diagnosticando erros com o mod_auth_mysql

2

Então eu instalei mod_auth_mysql através do seguinte:

sudo apt-get install libapache2-mod-auth-mysql 
sudo a2enmod auth_mysql 
sudo /etc/init.d/apache2 restart

Eu atualizei meu arquivo .htaccess para que ele se conecte ao banco de dados também, mas não está funcionando. Aqui está o que eu estou recebendo nos logs de erro:

[Wed Aug 07 16:35:23 2013] [error] [client xxx.xxx.xxx.xxx] user username not found: /admin/, referer: https://www.domain.tld/

O nome de usuário definitivamente existe. Se eu fizer SELECT * FROM userTable WHERE userName = 'username' , aparece. Então estou com uma pequena perda.

Existe alguma maneira que eu possa ver o SQL mod_auth_mysql está gerando?

Do meu arquivo .htaccess ...

AuthBasicAuthoritative Off
AuthUserFile /dev/null
Auth_MYSQL On
Auth_MySQL_Host localhost
Auth_MySQL_User username
Auth_MySQL_Password password
Auth_MySQL_Authoritative On
Auth_MySQL_DB "dbname"
Auth_MySQL_Password_Table "apache_auth"
Auth_MySQL_Username_Field username
Auth_MySQL_Password_Field password
Auth_MySQL_Group_Field group
Auth_MySQL_Encryption_Types Plaintext

Alguma idéia?

    
por neubert 07.08.2013 / 21:10

1 resposta

0

Para ver quais consultas são produzidas por auth_mysql, é melhor fazer consultas via mysql consultar o log e inspecionar o que exatamente está acontecendo.

Eu tive problemas semelhantes, mas finalmente o auth_mysql está funcionando usando esta configuração:

AuthType                        Basic
AuthName                        "Access Authorization"
AuthUserFile                    /dev/null
AuthGroupFile                   /dev/null
AuthBasicAuthoritative          Off
AuthMYSQL                       On
AuthMySQL_Authoritative         On
AuthMySQL_Non_Persistent        On
AuthMySQL_Socket                /var/run/mysqld/mysqld.sock
AuthMySQL_DB                    my_database_name
AuthMySQL_User                  my_database_user_name
AuthMySQL_Password              my_database_user_pass
AuthMySQL_Group_Table           groups
AuthMySQL_Group_User_Field      user
AuthMySQL_Group_Field           project_group
AuthMySQL_Password_Table        users
AuthMySQL_Username_Field        name
AuthMySQL_Password_Field        pass
AuthMySQL_Empty_Passwords       off
AuthMySQL_Encryption_Types      Crypt_DES

require group admin #requirement on group, valid_user,...
Tabelas

e mysql:

CREATE TABLE 'groups' (
 'user' varchar(48) NOT NULL,
 'project_group' varchar(255) NOT NULL,
 KEY 'group' ('project_group'),
 KEY 'user' ('user')
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE 'users' (
 'name' varchar(48) NOT NULL,
 'pass' varchar(255) NOT NULL COMMENT 'Crypt_DES',
 'email' varchar(255) NOT NULL,
 'country_limits' varchar(255) DEFAULT NULL,
 PRIMARY KEY ('name'),
 KEY 'pass' ('pass')
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Espero que isso ajude.

    
por 25.08.2013 / 16:03