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 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.