#[non_exhaustive]pub enum AuthEnforcedBy {
Caller,
Target,
Both,
}Expand description
Who’s responsible for enforcing authorization on the downstream
call. From the ObjectSecurityProfile of the target. Determines
whether the gateway brokers credentials (Caller), trusts the
target to handle auth itself (Target), or both layers enforce
(Both).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Caller
Caller (the gateway / our process) enforces — typical for internal services that trust the gateway’s authorization decision.
Target
Target enforces — typical for external services with their own access control. We may still attach credentials but the downstream makes the final allow/deny decision.
Both
Both layers enforce — defense in depth.
Trait Implementations§
Source§impl Clone for AuthEnforcedBy
impl Clone for AuthEnforcedBy
Source§fn clone(&self) -> AuthEnforcedBy
fn clone(&self) -> AuthEnforcedBy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for AuthEnforcedBy
Source§impl Debug for AuthEnforcedBy
impl Debug for AuthEnforcedBy
Source§impl Default for AuthEnforcedBy
impl Default for AuthEnforcedBy
Source§impl<'de> Deserialize<'de> for AuthEnforcedBy
impl<'de> Deserialize<'de> for AuthEnforcedBy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for AuthEnforcedBy
Source§impl PartialEq for AuthEnforcedBy
impl PartialEq for AuthEnforcedBy
Source§impl Serialize for AuthEnforcedBy
impl Serialize for AuthEnforcedBy
impl StructuralPartialEq for AuthEnforcedBy
Auto Trait Implementations§
impl Freeze for AuthEnforcedBy
impl RefUnwindSafe for AuthEnforcedBy
impl Send for AuthEnforcedBy
impl Sync for AuthEnforcedBy
impl Unpin for AuthEnforcedBy
impl UnsafeUnpin for AuthEnforcedBy
impl UnwindSafe for AuthEnforcedBy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.