Apache2 mod_dbd - 指定使用MySQL PASSWORD()的加密类型?

时间:2011-09-19 23:49:11

标签: mysql apache2 basic-authentication

我想通过使用Apache2 mod_dbd Basic Auth保护我的phpmyadmin区域,我想使用'mysql'数据库和'user'表进行身份验证。 (在我看来,这完全合情合理。)

我遇到的问题是这个表的密码加密,它使用MySQL的PASSWORD()函数来存储用户密码。

我做了一些修修补补,无法弄清楚是否可以使用mysql的'user'表因为这样,因为Apache只会使用this page中提到的加密类型

作为最后的手段,我想知道是否有人能够成功实现这项工作?

1 个答案:

答案 0 :(得分:1)

不幸的是,这是不可能的 - mod_authn_dbd实际上并不验证密码本身,而是充当密码哈希的源,后来Apache使用单独的授权模块检查{{1} }或mod_auth_basic。因此,您必须找到一个直接支持MySQL mod_auth_digest哈希格式的授权模块,我认为该格式不存在。

当然,您可以在MySQL PASSWORD()表中添加一个额外的列,以获得与Apache兼容的密码哈希。但是,这几乎没有什么比保持一个单独的身份验证数据库更好 - 例如,每当你做一个新的GRANT时你必须手动更新它 - 所以它可能不值得做。