©
本文档使用
php中文网手册 发布
| 说明 | 使用纯文本文件为认证提供支持 |
|---|---|
| 状态 | 基本(B) |
| 模块名 | authn_file_module |
| 源文件 | mod_authn_file.c |
| 兼容性 | 仅在 Apache 2.1 及以后的版本中可用 |
该模块为认证前端(mod_auth_digest和mod_auth_basic)使用纯文本文件进行用户认证提供支持。mod_authn_dbm模块也提供类似的功能。
使用mod_auth_basic或mod_auth_digest的时候,可以通过在AuthBasicProvider或AuthDigestProvider指令中使用file值调用该模块。
| 说明 | 设定一个含有认证使用的用户名/密码列表的纯文本文件 |
|---|---|
| 语法 | 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服务器目录之外,千万不要放在它所保护的目录中,否则可能会被客户端下载。