pub trait StorageAuthOps:
Send
+ Sync
+ Debug {
// Required methods
fn change_password(
&mut self,
info: &PasswordInfo,
) -> Result<bool, StorageError>;
fn create_user(&mut self, info: &UserInfo) -> Result<bool, StorageError>;
fn alter_user(&mut self, info: &UserAlterInfo) -> Result<bool, StorageError>;
fn drop_user(&mut self, username: &str) -> Result<bool, StorageError>;
fn user_exists(&self, username: &str) -> bool;
fn list_users(&self) -> Vec<String>;
fn get_user(&self, username: &str) -> Option<UserInfo>;
fn update_last_login(&self, username: &str) -> Result<bool, StorageError>;
fn list_user_roles(&self, username: &str) -> Vec<(i64, RoleType)>;
fn list_all_user_roles(&self) -> Vec<(String, Vec<(i64, RoleType)>)>;
fn grant_role(
&mut self,
username: &str,
space_id: i64,
role: RoleType,
) -> Result<bool, StorageError>;
fn revoke_role(
&mut self,
username: &str,
space_id: i64,
) -> Result<bool, StorageError>;
}Expand description
Authentication and authorization operations.
Required Methods§
fn change_password(&mut self, info: &PasswordInfo) -> Result<bool, StorageError>
fn create_user(&mut self, info: &UserInfo) -> Result<bool, StorageError>
fn alter_user(&mut self, info: &UserAlterInfo) -> Result<bool, StorageError>
fn drop_user(&mut self, username: &str) -> Result<bool, StorageError>
fn user_exists(&self, username: &str) -> bool
fn list_users(&self) -> Vec<String>
fn get_user(&self, username: &str) -> Option<UserInfo>
fn update_last_login(&self, username: &str) -> Result<bool, StorageError>
fn list_user_roles(&self, username: &str) -> Vec<(i64, RoleType)>
fn list_all_user_roles(&self) -> Vec<(String, Vec<(i64, RoleType)>)>
fn grant_role( &mut self, username: &str, space_id: i64, role: RoleType, ) -> Result<bool, StorageError>
fn revoke_role( &mut self, username: &str, space_id: i64, ) -> Result<bool, StorageError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".