| 描述: | 核心认证 |
|---|---|
| 状态: | 基础 |
| 模块标识符: | authn_core_module |
| 源文件: | mod_authn_core.c |
| 兼容性: | 在Apache 2.3及更高版本中可用 |
该模块提供核心身份验证功能,以允许或拒绝访问网站的某些部分。
mod_authn_core提供所有身份验证提供程序通用的指令。
可以在配置文件中创建扩展身份验证提供程序,并为其分配别名。然后可以通过伪指令AuthBasicProvider或
AuthDigestProvider以与基本身份验证提供程序相同的方式引用别名提供
程序。除了具有创建扩展提供者并为其别名的功能外,它还允许多个位置引用同一扩展身份验证提供者。
本示例检查两个不同文本文件中的密码。
# Check here first
<AuthnProviderAlias file file1>
AuthUserFile "/www/conf/passwords1"
</AuthnProviderAlias>
# Then check here
<AuthnProviderAlias file file2>
AuthUserFile "/www/conf/passwords2"
</AuthnProviderAlias>
<Directory "/var/web/pages/secure">
AuthBasicProvider file1 file2
AuthType Basic
AuthName "Protected Area"
Require valid-user
</Directory>
下面的示例基于ldap提供程序创建两个不同的ldap身份验证提供程序别名。这允许多个ldap主机为一个经过身份验证的位置提供服务:
<AuthnProviderAlias ldap ldap-alias1>
AuthLDAPBindDN cn=youruser,o=ctx
AuthLDAPBindPassword yourpassword
AuthLDAPURL ldap://ldap.host/o=ctx
</AuthnProviderAlias>
<AuthnProviderAlias ldap ldap-other-alias>
AuthLDAPBindDN cn=yourotheruser,o=dev
AuthLDAPBindPassword yourotherpassword
AuthLDAPURL ldap://other.ldap.host/o=dev?cn
</AuthnProviderAlias>
Alias "/secure" "/webpages/secure"
<Directory "/webpages/secure">
AuthBasicProvider ldap-other-alias ldap-alias1
AuthType Basic
AuthName "LDAP Protected Place"
Require valid-user
# Note that Require ldap-* would not work here, since the
# AuthnProviderAlias does not provide the config to authorization providers
# that are implemented in the same module as the authentication provider.
</Directory>
| 描述: | 用于HTTP身份验证的授权领域 |
|---|---|
| 句法: | AuthName auth-domain |
| 内容: | 目录.htaccess |
| 覆写: | 验证配置 |
| 状态: | 基础 |
| 模块: | mod_authn_core |
该伪指令设置目录的授权领域的名称。该领域被提供给客户端,以便用户知道要发送的用户名和密码。
AuthName接受一个论点;如果领域名称包含空格,则必须将其用引号引起来。它必须由陪同AuthType和Require指令以及诸如AuthUserFile和
AuthGroupFile工作。
例如:
AuthName "Top Secret"
为提供的字符串AuthName是大多数浏览器提供的密码对话框中出现的字符串。
| 描述: | 包含一组指令,这些指令代表基本身份验证提供程序的扩展,并由指定的别名引用 |
|---|---|
| 句法: | <AuthnProviderAlias baseProvider Alias>
... </AuthnProviderAlias> |
| 内容: | 服务器配置 |
| 状态: | 基础 |
| 模块: | mod_authn_core |
<AuthnProviderAlias>和
</AuthnProviderAlias>用来封装一组认证指令,可以使用指令
AuthBasicProvider或之一通过别名来引用该指令
AuthDigestProvider。
| 描述: | 用户认证类型 |
|---|---|
| 句法: | AuthType None|Basic|Digest|Form |
| 内容: | 目录.htaccess |
| 覆写: | 验证配置 |
| 状态: | 基础 |
| 模块: | mod_authn_core |
该伪指令选择目录的用户认证类型。可用的身份验证类型为None,
Basic(由实现
mod_auth_basic),Digest
(由实现mod_auth_digest)和
Form(由实现mod_auth_form)。
要实现身份验证,还必须使用AuthName和Require指令。此外,服务器必须具有身份验证提供程序模块(例如)
mod_authn_file和授权模块(例如)mod_authz_user。
身份验证类型None禁用身份验证。启用身份验证后,除非指定了其他身份验证类型,否则通常每个后续配置节都将继承它。如果不需要对已认证部分的子部分进行认证,None则可以使用认证类型。在以下示例中,客户端可以访问
/www/docs/public目录而不进行身份验证:
<Directory "/www/docs">
AuthType Basic
AuthName Documents
AuthBasicProvider file
AuthUserFile "/usr/local/apache/passwd/passwords"
Require valid-user
</Directory>
<Directory "/www/docs/public">
AuthType None
Require all granted
</Directory>