From 2a463b3cd73c32ee9dcd508248d0194923f435f4 Mon Sep 17 00:00:00 2001
From: Stefan Fritsch
-<AuthzProviderAlias ldap-group ldap-group-alias1 cn=my-group,o=ctx> +@@ -132,8 +130,7 @@ Alias /secure /webpages/secure not belong to either the<AuthzProviderAlias ldap-group ldap-group-alias1 cn=my-group,o=ctx> AuthLDAPBindDN cn=youruser,o=ctx AuthLDAPBindPassword yourpassword AuthLDAPURL ldap://ldap.host/o=ctx @@ -104,8 +103,7 @@ Alias /secure /webpages/secure #implied OR operation Require ldap-group-alias1 Require ldap-group-alias2 -</Directory> -+</Directory>
temps
group or the
LDAP group Temporary Employees
.
- -<Directory /www/mydocs> +<Directory /www/mydocs> <RequireAll> <RequireAny> Require user superadmin @@ -151,8 +148,7 @@ Alias /secure /webpages/secure Require ldap-group cn=Temporary Employees,o=Airius </RequireNone> </RequireAll> -</Directory> -+</Directory>
User-Agent
(browser type), Referer
, or
other HTTP request header fields.
- -SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in +SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in <Directory /docroot> Require env let_me_in -</Directory> -+</Directory>
In this case, browsers with a user-agent string beginning
with KnockKnock/2.0
will be allowed access, and all
others will be denied.
When the server looks up a path via an internal
+ subrequest such as looking
+ for a DirectoryIndex
+ or generating a directory listing with mod_autoindex
,
+ per-request environment variables are not inherited in the
+ subrequest. Additionally,
+ SetEnvIf
directives
+ are not separately evaluated in the subrequest due to the API phases
+ mod_setenvif
.
When the server looks up a path via an internal subrequest,
+ such as looking for a DirectoryIndex
or generating a directory listing with
+ mod_autoindex
, per-request environment variables are
+ not inherited in the subrequest. Additionally, environment
+ SetEnvIf
directives
+ are not separately evaluated in the subrequest due to the API phases
+ mod_setenvif
takes action in.
- Require all granted -+
Require all granted-
- Require all denied -+
Require all denied@@ -220,21 +229,17 @@ SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in
The following example will only allow GET, HEAD, POST, and OPTIONS requests:
-- Require method GET POST OPTIONS -+
Require method GET POST OPTIONS
The following example will allow GET, HEAD, POST, and OPTIONS requests without authentication, and require a valid user for all other methods:
--<RequireAny> - Require method GET POST OPTIONS - Require valid-user -</RequireAny> -+
<RequireAny> + Require method GET POST OPTIONS + Require valid-user +</RequireAny>@@ -244,9 +249,7 @@ SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in
The expr
provider allows to base authorization
decisions on arbitrary expressions.
- Require expr "%{TIME_HOUR} -ge 9 && %{TIME_HOUR} -le 17" -+
Require expr "%{TIME_HOUR} -ge 9 && %{TIME_HOUR} -le 17"
The syntax is described in the ap_expr
@@ -309,8 +312,7 @@ sections.
preceding sections. Thus only users belong to the group
gamma
may access /www/docs/ab/gamma
.
-<Directory /www/docs> +@@ -450,14 +451,12 @@ an authorization provider. and<Directory /www/docs> AuthType Basic AuthName Documents AuthBasicProvider file @@ -325,8 +327,7 @@ sections. <Directory /www/docs/ab/gamma> Require group gamma -</Directory> -+</Directory>
AuthGroupFile
(to
define users and groups) in order to work correctly. Example:
- -AuthType Basic +AuthType Basic AuthName "Restricted Resource" AuthBasicProvider file AuthUserFile /web/users AuthGroupFile /web/groups -Require group admin -+Require group admin
Access controls which are applied in this way are effective for
@@ -480,14 +479,12 @@ Require group admin
and beta
groups are authorized, except for those who
are also in the reject
group.
-<Directory /www/docs> +<Directory /www/docs> <RequireAll> Require group alpha beta Require not group reject </RequireAll> -</Directory> -+</Directory>
When multiple Require
directives are
@@ -657,7 +654,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_core.h
}
})(window, document);
//-->