使用数据库存储基本身份验证凭据

时间:2016-07-07 15:51:50

标签: mysql apache authentication basic-authentication http-basic-authentication

我试图在我的网站上设置基本身份验证,但不是使用.htpasswd文件来存储我试图使用mod_authn_dbd使用数据库的凭据 - 我已按照本指南进行操作:https://blog.froese.org/2014/06/13/authn-dbd-mysql-ubuntu-trusty/

但是与数据库的连接存在一些问题。 所以我的灯具堆栈(使用ScotchBox)设置了一个名为users的表来存储凭证。

我的conf文件如下:

DBDriver mysql
DBDParams "host=127.0.0.1,user=vagrant,pass=PASSWORD"
DBDMin  2
DBDKeep 4
DBDMax  10
DBDExptime 300

我的虚拟主机看起来像:

DBDParams "dbname=scotchbox"

<Directory /var/www/public/web/>
    AuthName "You Must Login"
    AuthType Basic
    AuthBasicProvider dbd
    AuthDBDUserPWQuery "SELECT password FROM users WHERE username = %s"
    Require valid-user
</Directory>

出现了Auth pop,我输入了我在数据库中的详细信息,但后来我被重定向到服务器错误500:日志中的错误是:

[Thu Jul 07 11:59:21.675628 2016] [dbd:error] [pid 2183] (20014)Internal error: AH00629: Can't connect to mysql: Access denied for user 'vagrant'@'localhost' (using password: NO)
[Thu Jul 07 11:59:21.675685 2016] [dbd:error] [pid 2183] (20014)Internal error: AH00633: failed to initialise
[Thu Jul 07 11:59:21.675709 2016] [authn_dbd:error] [pid 2183] [client 192.168.33.1:62383] AH01653: Failed to acquire database connection to look up user 'tom', referer: https://toran.modulemarket.dev/

显然系统无法连接到数据库,但我不确定为什么?!我可以使用相同的mysql用户vagrant /密码登录,并且我尝试过root用户,但无济于事。

有人知道为什么在按照上面的指南后我可能无法通过DPD连接到数据库?

由于

0 个答案:

没有答案