🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Apache模块 mod_authn_file | [说明](#calibre_link-11) | 使用纯文本文件为认证提供支持 | | --- | --- | | [状态](#calibre_link-12) | 基本(B) | | [模块名](#calibre_link-13) | authn_file_module | | [源文件](#calibre_link-14) | mod_authn_file.c | | [兼容性](#calibre_link-58) | 仅在 Apache 2.1 及以后的版本中可用 | ### 概述 该模块为认证前端(`mod_auth_digest`和`mod_auth_basic`)使用纯文本文件进行用户认证提供支持。`mod_authn_dbm`模块也提供类似的功能。 使用`mod_auth_basic`或`mod_auth_digest`的时候,可以通过在`AuthBasicProvider`或`AuthDigestProvider`指令中使用`file`值调用该模块。 ## AuthUserFile 指令 | [说明](#calibre_link-18) | 设定一个含有认证使用的用户名/密码列表的纯文本文件 | | --- | --- | | [语法](#calibre_link-19) | `AuthUserFile file-path` | | [作用域](#calibre_link-20) | directory, .htaccess | | [覆盖项](#calibre_link-66) | AuthConfig | | [状态](#calibre_link-21) | 基本(B) | | [模块](#calibre_link-22) | mod_authn_file | `AuthUserFile`指令设定一个纯文本文件的名称,其中包含用于认证的用户名/密码的列表,File-path是该文件的路径。如果不是绝对路径(也就是说,如果不是以斜杠开始的),则是相对于`ServerRoot`的相对路径。 用户文件的每一行包含一个用户名,后跟一个冒号,再跟一个加密过的密码。如果文件中含有重复的用户名,`mod_authn_file`模块会用排在最前面的那行定义来验证该用户的密码。 在二进制文件安装包中附带的(或者在"`src/support`"中)命令行工具`htpasswd`可以用来维护_仅用于HTTP基本认证_的密码文件。参阅[手册页面](#calibre_link-506)以获得更详细的说明。 以一个初始帐户`username`创建一个密码文件`Filename` 。它会提示输入密码: ``` htpasswd -c Filename username ``` 增加或修改密码文件`Filename`中的帐号`username2` : ``` htpasswd Filename username2 ``` 注意:搜索很大的文本文件是_非常慢_的;应该使用`AuthDBMUserFile`来替代它。 如果使用_HTTP摘要认证_,就不能使用`htpasswd`工具,而要使用`htdigest`工具。注意:不能在同一个文件中同时包含用于基本认证和摘要认证的用户数据。 ### 安全 必须确保`AuthUserFile`文件存放在WEB服务器目录之外,千万不要放在它所保护的目录中,否则可能会被客户端下载。