pub struct PolicyEvaluator { /* private fields */ }Expand description
RBAC policy evaluator.
Implementations§
Source§impl PolicyEvaluator
impl PolicyEvaluator
Sourcepub fn new(policy: RbacPolicy) -> Self
pub fn new(policy: RbacPolicy) -> Self
Create a new policy evaluator.
Sourcepub fn with_cache_ttl(self, ttl: Duration) -> Self
pub fn with_cache_ttl(self, ttl: Duration) -> Self
Set cache TTL.
Sourcepub fn clear_cache(&self)
pub fn clear_cache(&self)
Clear the evaluation cache.
Sourcepub fn is_allowed(&self, subject: &Subject, permission: Permission) -> bool
pub fn is_allowed(&self, subject: &Subject, permission: Permission) -> bool
Check if subject has a permission.
Sourcepub fn can_access(
&self,
subject: &Subject,
resource: &str,
permission: Permission,
) -> RbacResult<()>
pub fn can_access( &self, subject: &Subject, resource: &str, permission: Permission, ) -> RbacResult<()>
Check if subject can access a resource.
Sourcepub fn can_access_kernel(
&self,
subject: &Subject,
kernel_id: &KernelId,
permission: Permission,
) -> RbacResult<()>
pub fn can_access_kernel( &self, subject: &Subject, kernel_id: &KernelId, permission: Permission, ) -> RbacResult<()>
Check kernel access.
Sourcepub fn get_permissions(&self, subject: &Subject) -> HashSet<Permission>
pub fn get_permissions(&self, subject: &Subject) -> HashSet<Permission>
Get all permissions for a subject.
Auto Trait Implementations§
impl !Freeze for PolicyEvaluator
impl !RefUnwindSafe for PolicyEvaluator
impl Send for PolicyEvaluator
impl Sync for PolicyEvaluator
impl Unpin for PolicyEvaluator
impl UnsafeUnpin for PolicyEvaluator
impl UnwindSafe for PolicyEvaluator
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.