Apache > HTTP Server > 文档 > 版本2.2 > 模块
   致谢 | 本篇译者:金步国(其他作品) | 本页最后更新:2006年10月20日[查看最新版本]

Apache模块 mod_authn_file

说明使用纯文本文件为认证提供支持
状态基本(B)
模块名authn_file_module
源文件mod_authn_file.c
兼容性仅在 Apache 2.1 及以后的版本中可用

概述

该模块为认证前端(mod_auth_digestmod_auth_basic)使用纯文本文件进行用户认证提供支持。mod_authn_dbm模块也提供类似的功能。

使用mod_auth_basicmod_auth_digest的时候,可以通过在AuthBasicProviderAuthDigestProvider指令中使用file值调用该模块。

AuthUserFile 指令

说明设定一个含有认证使用的用户名/密码列表的纯文本文件
语法AuthUserFile file-path
作用域directory, .htaccess
覆盖项AuthConfig
状态基本(B)
模块mod_authn_file

AuthUserFile指令设定一个纯文本文件的名称,其中包含用于认证的用户名/密码的列表,File-path是该文件的路径。如果不是绝对路径(也就是说,如果不是以斜杠开始的),则是相对于ServerRoot的相对路径。

用户文件的每一行包含一个用户名,后跟一个冒号,再跟一个加密过的密码。如果文件中含有重复的用户名,mod_authn_file模块会用排在最前面的那行定义来验证该用户的密码。

在二进制文件安装包中附带的(或者在"src/support"中)命令行工具htpasswd可以用来维护仅用于HTTP基本认证的密码文件。参阅手册页面以获得更详细的说明。

以一个初始帐户username创建一个密码文件Filename 。它会提示输入密码:

htpasswd -c Filename username

增加或修改密码文件Filename中的帐号username2

htpasswd Filename username2

注意:搜索很大的文本文件是非常慢的;应该使用AuthDBMUserFile来替代它。

如果使用HTTP摘要认证,就不能使用htpasswd工具,而要使用htdigest工具。注意:不能在同一个文件中同时包含用于基本认证和摘要认证的用户数据。

安全

必须确保AuthUserFile文件存放在WEB服务器目录之外,千万不要放在它所保护的目录中,否则可能会被客户端下载。