Apache HTTP Server 版本 2.4
描述 | 使用 DBM 文件进行组授权 |
---|---|
状态 | 扩展 |
模块标识符 | authz_dbm_module |
源文件 | mod_authz_dbm.c |
兼容性 | 适用于 Apache 2.1 及更高版本 |
此模块提供授权功能,以便通过组成员身份允许或拒绝已验证用户访问网站的某些部分。 mod_authz_groupfile
提供类似的功能。
Apache 的 Require
指令在授权阶段使用,以确保用户被允许访问资源。 mod_authz_dbm 通过 dbm-group
扩展了授权类型。
从 v2.4.8 开始,DBM Require 指令中支持 表达式。
此指令指定用户获得访问权限所需的组成员身份。
Require dbm-group admin
当指定此指令时,用户必须是分配给正在访问的文件的组的成员。
Require dbm-file-group
请注意,使用 mod_authz_dbm 需要您要求 dbm-group
而不是 group
<Directory "/foo/bar"> AuthType Basic AuthName "Secure Area" AuthBasicProvider dbm AuthDBMUserFile "site/data/users" AuthDBMGroupFile "site/data/users" Require dbm-group admin </Directory>
描述 | 设置包含用于授权的用户组列表的数据库文件的名称 |
---|---|
语法 | AuthDBMGroupFile file-path |
上下文 | directory, .htaccess |
覆盖 | AuthConfig |
状态 | 扩展 |
模块 | mod_authz_dbm |
AuthDBMGroupFile
指令设置包含用于用户授权的用户组列表的 DBM 文件的名称。 File-path 是指向组文件的绝对路径。
组文件以用户名为键。用户的 value 是一个逗号分隔的用户所属组的列表。 value 中不能有空格,并且永远不能包含任何冒号。
确保 AuthDBMGroupFile
存储在 Web 服务器的文档树之外。不要将其放在它保护的目录中。否则,客户端将能够下载 AuthDBMGroupFile
,除非另有保护。
组合组和密码 DBM 文件:在某些情况下,管理包含每个用户的密码和组详细信息的单个数据库更容易。这简化了需要编写的任何支持程序:它们现在只需要处理写入和锁定单个 DBM 文件。这可以通过首先将组和密码文件设置为指向同一个 DBM 来实现
AuthDBMGroupFile "/www/userbase" AuthDBMUserFile "/www/userbase"
单个 DBM 的键是用户名。value 由以下组成
加密密码:组列表 [ : (忽略) ]
密码部分包含与以前相同的加密密码。后面跟着一个冒号和逗号分隔的组列表。其他数据可以选择在另一个冒号之后保留在 DBM 文件中;它被授权模块忽略。这就是 www.telescope.org 用于其组合密码和组数据库的方式。