tina-core 0.0.2

Tina platform
Documentation
//! 权限服务

use crate::tina::server::session::Session;

/// 权限服务
#[async_trait]
pub trait IPermissionService: Send + Sync + 'static {
    /// 验证用户是否具备某权限
    fn has_permi(&self, session: &Session, permission: &str) -> bool;
    /// 验证用户是否不具备某权限,与 hasPermi逻辑相反
    fn lacks_permi(&self, session: &Session, permission: &str) -> bool;
    /// 验证用户是否具有以下任意一个权限
    fn has_any_permi(&self, session: &Session, permission: &str) -> bool;
    /// 判断用户是否拥有某个角色
    fn has_role(&self, session: &Session, role: &str) -> bool;
    /// 验证用户是否不具备某角色,与 isRole逻辑相反。
    fn lacks_role(&self, session: &Session, role: &str) -> bool;
    /// 验证用户是否具有以下任意一个角色
    fn has_any_roles(&self, session: &Session, roles: &str) -> bool;
}