使用MySQL在Apache2中配置身份验证和授权

时间:2010-10-18 19:51:48

标签: mysql macos authentication apache2 mod-auth

我正在尝试配置Apache2,以便我可以使用MySQL来验证用户访问某些页面。授权也需要工作,因此不同的组可以访问不同的页面。

现在,我已经google了很多但是无法知道如何做到这一点。至少不是我的配置。似乎没有任何版本的mod_auth_mysql支持我的配置。

OSX 10.6.4

Apache 2.2

现在,我如何在PHP中创建自己的登录应用程序,但使用Apache2的内置支持?我完全被困在这一个......

提前致谢!

此致 尼古拉斯

3 个答案:

答案 0 :(得分:1)

您可以从源代码构建mod_auth_mysql。看看this帖子。

答案 1 :(得分:1)

  

我也想使用taylormade登录页面,而不是弹出

...

  

如何在php中创建自己的登录应用程序,但使用Apache2的内置支持

简短的回答是,你做不到。除非您重写Apache源代码或创建自己的模块,否则不能将基于HTTP的身份验证与非弹出式登录提示混合使用。

但是,如果您使用的是PHP,那么影响相对较小的解决方案就是使用自动前置功能为每个受保护的页面添加前缀,并检查用户会话。显然,如果将它应用于PHP源文件以外的文件,则需要更多考虑(如果你告诉Apache应用php引擎,比如.gif文件,它会很好用,但你的脚本需要检测并返回适当的mime类型。)

一个更简单的解决方案可能是将一个像squid这样的工具放在Web服务器前作为反向代理,然后使会话处理数据可用于squid url-rewriter。

答案 2 :(得分:1)

我想要您自己的登录页面,您不能使用Apache进行身份验证。

Apache身份验证使用HTTP标准的身份验证部分,因此您依赖浏览器来处理与用户的交互。有一些插件(比如mod_auth_mysql)可以使用数据库作为后端,但Apache不能以任何其他方式询问用户的凭据。

最快的方法可能是设置Drupal或Joomla,它将为您提供用户和组管理以及完整内容编辑,以便您可以控制谁可以编辑内容。