Skip to main content

PermissionChecker

Trait PermissionChecker 

Source
pub trait PermissionChecker: Send + Sync {
    // Required methods
    fn has_permission(&self, user_id: &str, permission: &str) -> Result<bool>;
    fn has_role(&self, user_id: &str, role_name: &str) -> Result<bool>;
    fn get_user_roles(&self, user_id: &str) -> Vec<String>;
}
Expand description

Trait for checking permissions

Implement this for your permission checking service.

Required Methods§

Source

fn has_permission(&self, user_id: &str, permission: &str) -> Result<bool>

Check if a user has a specific permission

Source

fn has_role(&self, user_id: &str, role_name: &str) -> Result<bool>

Check if a user has a specific role

Source

fn get_user_roles(&self, user_id: &str) -> Vec<String>

Get all roles for a user

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§