pub struct AuthorizationPolicy { /* private fields */ }Expand description
Authorization policy defining role-to-permission mappings.
Implementations§
Source§impl AuthorizationPolicy
impl AuthorizationPolicy
Sourcepub fn default_policy() -> Self
pub fn default_policy() -> Self
Create the default Peat Protocol authorization policy.
This implements the policy defined in ADR-006.
Sourcepub fn grant_role(&mut self, role: Role, permission: Permission)
pub fn grant_role(&mut self, role: Role, permission: Permission)
Grant a permission to a role.
Sourcepub fn revoke_role(&mut self, role: Role, permission: Permission)
pub fn revoke_role(&mut self, role: Role, permission: Permission)
Revoke a permission from a role.
Sourcepub fn role_has_permission(&self, role: Role, permission: Permission) -> bool
pub fn role_has_permission(&self, role: Role, permission: Permission) -> bool
Check if a role has a permission.
Sourcepub fn get_permissions(&self, role: Role) -> HashSet<Permission>
pub fn get_permissions(&self, role: Role) -> HashSet<Permission>
Get all permissions for a role.
Trait Implementations§
Source§impl Clone for AuthorizationPolicy
impl Clone for AuthorizationPolicy
Source§fn clone(&self) -> AuthorizationPolicy
fn clone(&self) -> AuthorizationPolicy
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 moreSource§impl Debug for AuthorizationPolicy
impl Debug for AuthorizationPolicy
Auto Trait Implementations§
impl Freeze for AuthorizationPolicy
impl RefUnwindSafe for AuthorizationPolicy
impl Send for AuthorizationPolicy
impl Sync for AuthorizationPolicy
impl Unpin for AuthorizationPolicy
impl UnsafeUnpin for AuthorizationPolicy
impl UnwindSafe for AuthorizationPolicy
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> 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