<-
Apache HTTP 服务器 2.4 > Apache模块mod_authn_core

Apache模块mod_authn_core

描述:核心认证
状态:基础
模块标识符:authn_core_module
源文件:mod_authn_core.c
兼容性:在Apache 2.3及更高版本中可用

摘要

该模块提供核心身份验证功能,以允许或拒绝访问网站的某些部分。 mod_authn_core提供所有身份验证提供程序通用的指令。

支持Apache!

主题

指令

错误修正清单

也可以看看

最佳

创建身份验证提供程序别名

可以在配置文件中创建扩展身份验证提供程序,并为其分配别名。然后可以通过伪指令AuthBasicProviderAuthDigestProvider以与基本身份验证提供程序相同的方式引用别名提供 程序。除了具有创建扩展提供者并为其别名的功能外,它还允许多个位置引用同一扩展身份验证提供者。

例子

本示例检查两个不同文本文件中的密码。

检查多个文本密码文件

# 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主机为一个经过身份验证的位置提供服务:

检查多个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>
最佳

AuthName 指令

描述:用于HTTP身份验证的授权领域
句法:AuthName auth-domain
内容:目录.htaccess
覆写:验证配置
状态:基础
模块:mod_authn_core

该伪指令设置目录的授权领域的名称。该领域被提供给客户端,以便用户知道要发送的用户名和密码。 AuthName接受一个论点;如果领域名称包含空格,则必须将其用引号引起来。它必须由陪同AuthTypeRequire指令以及诸如AuthUserFileAuthGroupFile工作。

例如:

AuthName "Top Secret"

为提供的字符串AuthName是大多数浏览器提供的密码对话框中出现的字符串。

也可以看看

最佳

<AuthnProviderAlias> 指令

描述:包含一组指令,这些指令代表基本身份验证提供程序的扩展,并由指定的别名引用
句法:<AuthnProviderAlias baseProvider Alias> ... </AuthnProviderAlias>
内容:服务器配置
状态:基础
模块:mod_authn_core

<AuthnProviderAlias></AuthnProviderAlias>用来封装一组认证指令,可以使用指令 AuthBasicProvider或之一通过别名来引用该指令 AuthDigestProvider

该指令对授权没有影响,即使对于同时提供身份验证和授权的模块也是如此。
最佳

AuthType 指令

描述:用户认证类型
句法:AuthType None|Basic|Digest|Form
内容:目录.htaccess
覆写:验证配置
状态:基础
模块:mod_authn_core

该伪指令选择目录的用户认证类型。可用的身份验证类型为NoneBasic(由实现 mod_auth_basic),Digest (由实现mod_auth_digest)和 Form(由实现mod_auth_form)。

要实现身份验证,还必须使用AuthNameRequire指令。此外,服务器必须具有身份验证提供程序模块(例如) 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>
禁用身份验证时,请注意,已经针对服务器文档树的另一部分进行身份验证的客户端通常会继续对每个请求发送身份验证HTTP标头或cookie,而无论服务器是否实际上要求对每个资源进行身份验证。

也可以看看

可用语言: zh  |  fr 

最佳

注释

注意:
这不是“问答”部分。此处放置的评论应指向有关改进文档或服务器的建议,如果实施或被认为无效/偏离主题,我们的主持人可以将其删除。有关如何管理Apache HTTP Server的问题,应直接指向我们的IRC频道#httpd(位于Freenode上),或发送至我们的邮件列表
目前,此页面已禁用评论。