pub struct SubjectProviderSet(/* private fields */);Expand description
The registered subject-attribute providers, discovered once at a composition root and shared by every consumer that needs to look a dimension up by name (gateway scope attribution, quota subjects).
Implementations§
Source§impl SubjectProviderSet
impl SubjectProviderSet
pub async fn verify_scope_bindings( &self, owner: &UserId, scopes: &[ScopeBinding], ) -> Result<(), ScopeBindingError>
Source§impl SubjectProviderSet
impl SubjectProviderSet
pub fn discover(ctx: &AuthzHookContext) -> Self
pub fn from_providers(providers: Vec<SharedSubjectAttributeProvider>) -> Self
pub fn find(&self, dimension: &str) -> Option<&SharedSubjectAttributeProvider>
pub fn registered_dimensions(&self) -> Vec<RuleType>
pub fn iter(&self) -> impl Iterator<Item = &SharedSubjectAttributeProvider>
Trait Implementations§
Source§impl Clone for SubjectProviderSet
impl Clone for SubjectProviderSet
Source§impl Debug for SubjectProviderSet
impl Debug for SubjectProviderSet
Auto Trait Implementations§
impl !RefUnwindSafe for SubjectProviderSet
impl !UnwindSafe for SubjectProviderSet
impl Freeze for SubjectProviderSet
impl Send for SubjectProviderSet
impl Sync for SubjectProviderSet
impl Unpin for SubjectProviderSet
impl UnsafeUnpin for SubjectProviderSet
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more