Require
描述: 判断经过身份验证用户是否经过特定授权方式的授权
语法: Require [not] entity-name [entity-name] …
语境: <Directory>
片段,.htaccess
覆盖: AuthConfig
状态: Base
模块: mod_authz_core
支持的授权方式有:
- Require all granted
无条件允许访问 - Require all denied
无条件拒绝访问 - Require env env-var [env-var] …
仅当设置了一个给定的环境变量时才允许访问。 - Require method http-method [http-method] …
仅允许对给定的HTTP方法进行访问。 - Require expr expression
仅当表达式的运算为true时才允许访问 - Require user userid [userid] …
只有指定的用户才允许访问 - Require group group-name [group-name] …
只有属于指定用户组的用户才能访问 - Require valid-user
所有有效用户都可以访问 - Require ip 10 172.20 192.168.2
指定IP地址范围内的客户端可以访问
Require指令的结果可以通过使用 not
选项来否定,否定的意义仅表示满足条件的用户禁止访问,并不表示不满足条件的用户允许访问。与指令 <RequireNone>
一样,它不能独立授权,只能配合其他正向授权的指令来限制有权访问资源的用户集。
当Require在单个配置片段中使用多个指令 并且不包含在类似 <RequireAll>
的指令中时,它们隐含地包含在 <RequireAny>
指令中。因此,满足一条授权指令即允许访问资源,并忽略后续非 not
指令。
<RequireAll>
描述: 附带一组授权指令,附带的所有指令都不能失败,且至少有一个成功,才使封闭指令成功
语法: <RequireAll>…</RequireAll>
语境: <Directory>
片段,.htaccess
覆盖: AuthConfig
状态: Base
模块: mod_authz_core
如果指令中包含的指令没有失败,并且至少一个成功,则<RequireAll>
指令成功。如果没有成功且没有失败,则返回一个中立结果。在所有其他情况下,它都失败。
<RequireAny>
描述: 附带一组授权指令,附带的指令至少有一个成功,封闭指令即成功
语法: <RequireAny>…</RequireAny>
语境: <Directory>
片段,.htaccess
覆盖: AuthConfig
状态: Base
模块: mod_authz_core
如果指令中包含的一个或多个指令成功,则<RequireAny>
指令成功。如果没有成功且没有失败,则返回中性结果。在所有其他情况下,它都失败。
<RequireNone>
描述: 附带一组授权指令,附带的指令有一个成功,则封闭指令失败
语法: <RequireNone>…</RequireNone>
语境: <Directory>
片段,.htaccess
覆盖: AuthConfig
状态: Base
模块: mod_authz_core
如果指令中包含的一个或多个指令成功,则 <RequireNone>
指令失败。在所有其他情况下,它返回中性结果。因此,与 Require not
一样,它永远不能独立地授权请求,因为它永远不会返回成功的结果。但是,可以使用它来限制有权访问资源的用户集。