描述: | 核心认证 |
---|---|
状态: | 基础 |
模块标识符: | 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>