在Apache HTTPD 2.4中使用“require group”和mod_authn_dbm

时间:2013-03-27 16:03:15

标签: apache authorization basic-authentication httpd.conf

我正在使用Apache HTTPD 2.4,我已经决定是时候从mod_authn_file转移到mod_authn_dbm了。我得到它主要工作,但它不会检查我的AuthDBMUserFile组信息。我用谷歌搜索了它,看来这种功能仍然可以通过我现在包含的mod_authz_dbm来获得。 mod_authz_dbm的文档显示您只需使用AuthDBMGroupFile指令,如下面的配置所示:

<Directory "C:/Apache24/site/requests">
AuthType Basic
AuthName "Secure Area"
AuthBasicProvider dbm
AuthDBMUserFile site/data/users
AuthDBMGroupFile site/data/users
Require group admin
</Directory>

(不用担心,无法通过网络服务器访问site/data!)

但是,即使该指令明确知道(httpd -t没有抱怨并且服务器启动正常),它也会被忽略或者其他东西试图找到不同的组文件。我在日志文件中看到的错误是:

AH01664: No group file was specified in the configuration

我的配置是否以某种方式看起来不完整?

1 个答案:

答案 0 :(得分:0)

我得到了Eric Covener Apache HTTPD Users Mailing List礼貌的回答,他说:

  

mod_authz_dbm仅在2.4中响应Require dbm-group(和dbm-file-group),这似乎是2.2的变化。

所以我的配置应该是:

<Directory "C:/Apache24/site/requests">
AuthType Basic
AuthName "Secure Area"
AuthBasicProvider dbm
AuthDBMUserFile site/data/users
AuthDBMGroupFile site/data/users
Require dbm-group admin
</Directory>

我试过这个,它完全符合我的要求。非常感谢Eric!