多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Apache模块 mod_auth_basic | [说明](#calibre_link-11) | 使用基本认证 | | --- | --- | | [状态](#calibre_link-12) | 基本(B) | | [模块名](#calibre_link-13) | auth_basic_module | | [源文件](#calibre_link-14) | mod_auth_basic.c | | [兼容性](#calibre_link-58) | 仅在 Apache 2.1 及以后的版本中可用 | ### 概述 此模块使用HTTP基本认证,在认证支持模块的帮助下查找用户名和密码,从而进行访问控制。而`mod_auth_digest`模块则提供了对HTTP摘要认证的支持。这两个模块通常至少需要和一个认证支持模块(如`mod_authn_file`)和一个授权支持模块(如`mod_authz_user`)一起使用。 ## AuthBasicAuthoritative 指令 | [说明](#calibre_link-18) | 指定是否将(基本)认证和授权操作交由更底层的模块来处理 | | --- | --- | | [语法](#calibre_link-19) | `AuthBasicAuthoritative On&#124;Off` | | [默认值](#calibre_link-24) | `AuthBasicAuthoritative On` | | [作用域](#calibre_link-20) | directory, .htaccess | | [覆盖项](#calibre_link-66) | AuthConfig | | [状态](#calibre_link-21) | 基本(B) | | [模块](#calibre_link-22) | mod_auth_basic | 通常,在`AuthBasicProvider`中列出的每一个认证支持者都会尝试校验用户,如果所有认证支持者全都没有通过检验,那么访问将被拒绝。在将`AuthBasicAuthoritative`明确地设置为 `Off` 的情况下,如果提供的userID**不能与任何userID或rule(规则)相匹配**,则认证和授权操作均转交其它非认证支持(non-provider-based)模块(也就是第三方模块)来处理;仅仅在将`mod_auth_basic`和未使用`AuthBasicProvider`进行配置的第三方模块联合使用的时候才需要这样设置。在使用这种第三方模块的时候,处理顺序是在该模块的源代码中设定的,不能被重新配置。 ## AuthBasicProvider 指令 | [说明](#calibre_link-18) | 设置该区域的(基本)认证支持者(Provider) | | --- | --- | | [语法](#calibre_link-19) | `AuthBasicProvider provider-name [provider-name] ...` | | [默认值](#calibre_link-24) | `AuthBasicProvider file` | | [作用域](#calibre_link-20) | directory, .htaccess | | [覆盖项](#calibre_link-66) | AuthConfig | | [状态](#calibre_link-21) | 基本(B) | | [模块](#calibre_link-22) | mod_auth_basic | `AuthBasicProvider`指令设置了该区域的(基本)认证支持者(Provider)。默认的`file`支持者由`mod_authn_file`模块实现。必须确保所需的认证支持模块存在于服务器中(静态连接或DSO)。 ### 示例 ``` <Location /secure> AuthType basic AuthBasicProvider dbm AuthDBMType SDBM AuthDBMUserFile /www/etc/dbmpasswd Require valid-user </Location> ``` 能够提供认证支持者(Provider)的模块如下:`mod_authn_dbm`, `mod_authn_file`, `mod_authn_dbd`, `mod_authnz_ldap` 。