pub struct AccessControl { /* private fields */ }Available on crate feature
auth only.Expand description
Access control for checking permissions.
Implementations§
Source§impl AccessControl
impl AccessControl
Sourcepub fn builder() -> AccessControlBuilder
pub fn builder() -> AccessControlBuilder
Create a new builder.
Sourcepub fn check(
&self,
user: &str,
permission: &Permission,
) -> Result<(), AccessDenied>
pub fn check( &self, user: &str, permission: &Permission, ) -> Result<(), AccessDenied>
Check if a user has access to a permission.
Sourcepub async fn check_and_audit(
&self,
user: &str,
permission: &Permission,
) -> Result<(), AuthError>
pub async fn check_and_audit( &self, user: &str, permission: &Permission, ) -> Result<(), AuthError>
Check and log the access attempt.
Sourcepub fn user_roles(&self, user: &str) -> Vec<&Role>
pub fn user_roles(&self, user: &str) -> Vec<&Role>
Get all roles assigned to a user.
Sourcepub fn role_names(&self) -> Vec<&str>
pub fn role_names(&self) -> Vec<&str>
Get all role names.
Trait Implementations§
Source§impl Clone for AccessControl
impl Clone for AccessControl
Source§fn clone(&self) -> AccessControl
fn clone(&self) -> AccessControl
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for AccessControl
impl !RefUnwindSafe for AccessControl
impl Send for AccessControl
impl Sync for AccessControl
impl Unpin for AccessControl
impl UnsafeUnpin for AccessControl
impl !UnwindSafe for AccessControl
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,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.