From: Rich Bowen
Date: Fri, 1 May 2026 20:14:05 +0000 (+0000)
Subject: Bug 65145: Add Authorization Result States section; cross-reference from Require...
X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5a83e98043f95d6df0e7100bba7607b2c3a2bd89;p=thirdparty%2Fapache%2Fhttpd.git
Bug 65145: Add Authorization Result States section; cross-reference from Require directives, auth howto, and authz provider modules
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1933687 13f79535-47bb-0310-9956-ffa450edef68
---
diff --git a/docs/manual/howto/auth.xml b/docs/manual/howto/auth.xml
index 21f58eb64f..a87a511155 100644
--- a/docs/manual/howto/auth.xml
+++ b/docs/manual/howto/auth.xml
@@ -475,7 +475,10 @@ Require valid-user
access is granted. See
Authorization Containers
for an example of how they may be used to express complex
- authorization logic.
+ authorization logic. Each authorization provider returns one
+ of three possible results; see
+ Authorization Result States
+ for details on how containers interpret these results.
By default all
Require
diff --git a/docs/manual/mod/mod_authz_core.xml b/docs/manual/mod/mod_authz_core.xml
index 6b3a194638..3b53ef112e 100644
--- a/docs/manual/mod/mod_authz_core.xml
+++ b/docs/manual/mod/mod_authz_core.xml
@@ -85,6 +85,56 @@
+Authorization Result States
+
+ Each authorization provider returns one of three possible results
+ when evaluating a Require
+ directive:
+
+
+ - Granted
+ - The provider has verified that the request meets
+ its requirements.
+
+ - Denied
+ - The provider has determined that the request does not
+ meet its requirements.
+
+ - Neutral
+ - The provider has no opinion about the request. This
+ can occur when a provider is not relevant to the request
+ (e.g., a group-membership check when the request does not
+ involve group-based authorization).
+
+
+ The authorization container directives interpret these three
+ results as follows:
+
+
+
+ | Container | Granted if... | Denied if... | Neutral treated as... |
+ | RequireAny |
+ at least one provider grants |
+ all providers deny |
+ deny (does not satisfy the requirement) |
+ | RequireAll |
+ no provider denies (and at least one grants) |
+ any provider denies |
+ grant (does not block the requirement) |
+ | RequireNone |
+ no provider grants |
+ any provider grants |
+ grant (does not block) |
+
+
+ When a Require directive is negated with
+ not (e.g., Require not group temps), a
+ granted result is inverted to denied and vice versa, but a neutral
+ result remains neutral. A negated directive can therefore never
+ independently authorize a request.
+
+
+
The Require Directives
mod_authz_core provides some generic authorization
@@ -402,6 +452,7 @@ Require group admin
Access Control howto
Authorization Containers
+Authorization Result States
mod_authn_core
mod_authz_host
@@ -433,6 +484,7 @@ succeed.
Authorization Containers
+Authorization Result States
Authentication, Authorization,
and Access Control
@@ -471,6 +523,7 @@ must succeed for the enclosing directive to succeed.
Authorization Containers
+Authorization Result States
Authentication, Authorization,
and Access Control
@@ -512,6 +565,7 @@ must succeed for the enclosing directive to not fail.
Authorization Containers
+Authorization Result States
Authentication, Authorization,
and Access Control
diff --git a/docs/manual/mod/mod_authz_groupfile.xml b/docs/manual/mod/mod_authz_groupfile.xml
index 014d136fa9..42a3285f6e 100644
--- a/docs/manual/mod/mod_authz_groupfile.xml
+++ b/docs/manual/mod/mod_authz_groupfile.xml
@@ -36,6 +36,7 @@
Require
+Authorization Result States
The Require Directives
diff --git a/docs/manual/mod/mod_authz_host.xml b/docs/manual/mod/mod_authz_host.xml
index f68a3c9be1..29634a49a5 100644
--- a/docs/manual/mod/mod_authz_host.xml
+++ b/docs/manual/mod/mod_authz_host.xml
@@ -52,6 +52,7 @@ address)
Authentication, Authorization,
and Access Control
Require
+Authorization Result States
The Require Directives
diff --git a/docs/manual/mod/mod_authz_user.xml b/docs/manual/mod/mod_authz_user.xml
index 7461f15d25..615c3756f9 100644
--- a/docs/manual/mod/mod_authz_user.xml
+++ b/docs/manual/mod/mod_authz_user.xml
@@ -37,6 +37,7 @@
grant access to all successfully authenticated users.
Require
+Authorization Result States