Skip to main content

sa_token_core/
stp_interface.rs

1// Author: 金书记
2//
3//! 权限/角色/封禁数据源回调(对齐 Java StpInterface)
4
5use async_trait::async_trait;
6
7use crate::error::SaTokenResult;
8
9/// 权限、角色、封禁数据回调
10#[async_trait]
11pub trait StpInterface: Send + Sync {
12    async fn get_permission_list(
13        &self,
14        login_id: &str,
15        login_type: &str,
16    ) -> SaTokenResult<Vec<String>>;
17
18    async fn get_role_list(
19        &self,
20        login_id: &str,
21        login_type: &str,
22    ) -> SaTokenResult<Vec<String>>;
23
24    /// 返回封禁等级;`None` 表示未封禁
25    async fn is_disabled(&self, login_id: &str, service: &str) -> SaTokenResult<Option<i32>> {
26        let _ = (login_id, service);
27        Ok(None)
28    }
29}