我想通过使用Apache2 mod_dbd Basic Auth保护我的phpmyadmin区域,我想使用'mysql'数据库和'user'表进行身份验证。 (在我看来,这完全合情合理。)
我遇到的问题是这个表的密码加密,它使用MySQL的PASSWORD()函数来存储用户密码。
我做了一些修修补补,无法弄清楚是否可以使用mysql的'user'表因为这样,因为Apache只会使用this page中提到的加密类型
作为最后的手段,我想知道是否有人能够成功实现这项工作?
答案 0 :(得分:1)
不幸的是,这是不可能的 - mod_authn_dbd
实际上并不验证密码本身,而是充当密码哈希的源,后来Apache使用单独的授权模块检查{{1} }或mod_auth_basic
。因此,您必须找到一个直接支持MySQL mod_auth_digest
哈希格式的授权模块,我认为该格式不存在。
当然,您可以在MySQL PASSWORD()
表中添加一个额外的列,以获得与Apache兼容的密码哈希。但是,这几乎没有什么比保持一个单独的身份验证数据库更好 - 例如,每当你做一个新的GRANT时你必须手动更新它 - 所以它可能不值得做。