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§
Sourcefn has_permission(&self, user_id: &str, permission: &str) -> Result<bool>
fn has_permission(&self, user_id: &str, permission: &str) -> Result<bool>
Check if a user has a specific permission
Sourcefn has_role(&self, user_id: &str, role_name: &str) -> Result<bool>
fn has_role(&self, user_id: &str, role_name: &str) -> Result<bool>
Check if a user has a specific role
Sourcefn get_user_roles(&self, user_id: &str) -> Vec<String>
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".