我正在尝试配置 Apache2,以便我可以使用 MySQL 来验证用户是否可以访问某些页面。授权也需要起作用,以便不同的组可以访问不同的页面。
现在,我用谷歌搜索了很多,但不知道如何做到这一点。至少不适用于我的配置。似乎没有任何版本的 mod_auth_mysql 支持我的配置。
OSX 10.6.4
阿帕奇 2.2
现在,我如何实现这一点,而不是在 php 中创建自己的登录应用程序,而是使用 Apache2 的内置支持?我完全卡在这个上...
提前致谢!
问候, 尼克拉斯
我正在尝试配置 Apache2,以便我可以使用 MySQL 来验证用户是否可以访问某些页面。授权也需要起作用,以便不同的组可以访问不同的页面。
现在,我用谷歌搜索了很多,但不知道如何做到这一点。至少不适用于我的配置。似乎没有任何版本的 mod_auth_mysql 支持我的配置。
OSX 10.6.4
阿帕奇 2.2
现在,我如何实现这一点,而不是在 php 中创建自己的登录应用程序,而是使用 Apache2 的内置支持?我完全卡在这个上...
提前致谢!
问候, 尼克拉斯
您可以从源代码构建mod_auth_mysql 。看看这个帖子。
我也想使用 taylormade 登录页面,而不是弹出
……
我如何做到这一点,而不是在 php 中创建自己的登录应用程序,而是使用 Apache2 的内置支持
简短的回答是你不能。除非您重写 Apache 源代码或创建自己的模块,否则您不能将基于 HTTP 的身份验证与非弹出式登录提示混合使用。
但是,如果您使用的是 PHP,那么影响相对较小的解决方案是使用自动前置功能为每个受保护的页面添加前缀,并检查用户会话。显然,如果要将其应用于 PHP 源文件以外的文件,则需要多加考虑(如果您告诉 Apache 将 php 引擎应用于 .gif 文件,它会很好地工作,但您的脚本需要检测并返回适当的 mime 类型)。
一个更简单的解决方案可能是将 squid 之类的工具放在 web 服务器前面作为反向代理,然后让 squid url-rewriter 可以使用会话处理数据。
我想要自己的登录页面,不能使用 Apache 进行身份验证。
Apache 身份验证使用 HTTP 标准的身份验证部分,因此您依赖浏览器来处理与用户的交互。有插件(如 mod_auth_mysql)使用数据库作为后端,但 Apache 不能以任何其他方式向用户询问他们的凭据。
最快的方法可能是设置 Drupal 或 Joomla,它可以让您进行用户和组管理以及完整的内容编辑,让您可以控制谁可以编辑什么。