mirror of
https://gitlab.com/fabinfra/fabaccess/bffh.git
synced 2025-06-11 10:53:19 +02:00
User admin methods
This commit is contained in:
@ -7,7 +7,7 @@ use crate::authorization::permissions::Permission;
|
||||
use crate::authorization::roles::{Roles};
|
||||
use crate::resources::Resource;
|
||||
use crate::Users;
|
||||
use crate::users::UserRef;
|
||||
use crate::users::{db, UserRef};
|
||||
|
||||
|
||||
#[derive(Clone)]
|
||||
@ -40,17 +40,21 @@ impl SessionManager {
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct SessionHandle {
|
||||
users: Users,
|
||||
roles: Roles,
|
||||
pub users: Users,
|
||||
pub roles: Roles,
|
||||
|
||||
user: UserRef,
|
||||
}
|
||||
|
||||
impl SessionHandle {
|
||||
pub fn get_user(&self) -> UserRef {
|
||||
pub fn get_user_ref(&self) -> UserRef {
|
||||
self.user.clone()
|
||||
}
|
||||
|
||||
pub fn get_user(&self) -> db::User {
|
||||
self.users.get_user(self.user.get_username()).expect("Failed to get user self")
|
||||
}
|
||||
|
||||
pub fn has_disclose(&self, resource: &Resource) -> bool {
|
||||
if let Some(user) = self.users.get_user(self.user.get_username()) {
|
||||
self.roles.is_permitted(&user.userdata, &resource.get_required_privs().disclose)
|
||||
|
Reference in New Issue
Block a user