On this page
Apache 模块 mod_authn_dbm
Description: | 使用 DBM 文件的用户身份验证 |
---|---|
Status: | Extension |
Module Identifier: | authn_dbm_module |
Source File: | mod_authn_dbm.c |
Compatibility: | 在 Apache 2.1 及更高版本中可用 |
Summary
该模块提供了诸如mod_auth_digest和mod_auth_basic之类的身份验证前端,以通过在 dbm 密码文件中查找用户来对用户进行身份验证。 mod_authn_file提供了类似的功能。
使用mod_auth_basic或mod_auth_digest时,此模块通过AuthBasicProvider或AuthDigestProvider与dbm
值调用。
AuthDBMType Directive
Description: | 设置用于存储密码的数据库文件的类型 |
---|---|
Syntax: | AuthDBMType default|SDBM|GDBM|NDBM|DB |
Default: | AuthDBMType default |
Context: | directory, .htaccess |
Override: | AuthConfig |
Status: | Extension |
Module: | mod_authn_dbm |
设置用于存储密码的数据库文件的类型。默认数据库类型在编译时确定。其他类型的数据库文件的可用性还取决于compile-time settings。
例如,为了启用对 Berkeley DB(与db
类型对应)的支持,需要将--with-berkeley-db
选项添加到 httpd 的 configure 中以生成必要的 DSO。
至关重要的是,将用于创建密码文件的任何程序配置为使用相同类型的数据库。
AuthDBMUserFile Directive
Description: | 设置数据库文件的名称,该数据库文件包含用于身份验证的用户列表和密码 |
---|---|
Syntax: | AuthDBMUserFile file-path |
Context: | directory, .htaccess |
Override: | AuthConfig |
Status: | Extension |
Module: | mod_authn_dbm |
AuthDBMUserFile
伪指令设置 DBM 文件的名称,该文件包含用户列表和用于用户认证的密码。文件路径是用户文件的绝对路径。
用户文件键入用户名。用户的值是加密的密码,可以选择后面跟一个冒号和任意数据。服务器将忽略冒号及其后的数据。
Security:
确保AuthDBMUserFile
存储在 Web 服务器的文档树之外; 不要将其放在受保护的目录中。否则,Client 端将可以下载AuthDBMUserFile
。
加密的密码格式取决于所使用的身份验证前端(例如mod_auth_basic或mod_auth_digest)。有关更多信息,请参见Password Formats。
重要的兼容性说明:Apache 模块中dbmopen
的实现从 DBM 数据结构中读取哈希值的字符串长度,而不是依赖于将字符串附加为 NULL 的情况。某些应用程序(例如 Netscape Web 服务器)依赖于在字符串后加上 NULL,因此,如果您在应用程序之间无法互换使用 DBM 文件时遇到问题,则可能是问题的一部分。
Apache 附带了一个名为dbmmanage的 perl 脚本。该程序可用于创建和更新 DBM 格式的密码文件,以便与此模块一起使用。维护 DBM 文件的另一个工具是包含的程序htdbm。