使用apache和mysql对基于组的用户进行身份验证/授权

时间:2012-01-12 08:44:31

标签: mysql authentication authorization apache

我正在尝试获得授权来处理我的apache安装。我想根据用户所属的组进行授权。

我正在使用

  • Apache 2.2.15
  • Centos 6.2(在VB中以guest身份运行)

如果我只想根据用户进行身份验证/授权,我的设置就可以了。

这是我的httpd.conf的重要部分(我认为......):

<Directory "/var/www/html">

    Options Indexes FollowSymLinks

    AllowOverride None

    Order allow,deny
    Allow from all

        AuthType Basic
        AuthName "Restricted Files"
        AuthBasicProvider dbd
        Require dbd-group 1
        Require valid-user

        AuthzDBDQuery "SELECT group_id FROM groupsusers JOIN user ON groupsusers.user_id = user.id WHERE groupsusers.group_id = 1 AND user.users = %s"
        AuthDBDUserPWQuery "SELECT password FROM user WHERE users = %s"

</Directory

AuthzDBDQuery不起作用,因为据我所知,它还不是任何稳定版本的一部分。这是我在启动httpd时收到的错误消息:

无效命令'AuthzDBDQuery',可能拼写错误或由未包含在服务器配置httpd未运行的模块中定义,试图启动

我的问题是,在使用mysql存储组时,如何使用组进行授权?我想如果不重新编译apache就必须有可能吗?

由于这方面的一切都很差,因此获得一些详细说明会更加重要。当然,任何可以帮助我在严谨方向的任何事情都值得赞赏。

谢谢!

2 个答案:

答案 0 :(得分:0)

我认为现阶段不可能。我认为它将在下一个稳定版本的httpd中得到支持。

答案 1 :(得分:0)

在apache 2.4中启用了authz_dbd mod后,问题解决了。