pub struct StpUtil;Expand description
StpUtil - 权限认证工具类
提供便捷的认证和授权操作方法,类似于 Java 版 sa-token 的 StpUtil
Implementations§
Source§impl StpUtil
impl StpUtil
Sourcepub fn init_manager(manager: SaTokenManager)
pub fn init_manager(manager: SaTokenManager)
Sourcepub async fn login(login_id: impl LoginId) -> SaTokenResult<TokenValue>
pub async fn login(login_id: impl LoginId) -> SaTokenResult<TokenValue>
Sourcepub async fn login_with_manager(
manager: &SaTokenManager,
login_id: impl Into<String>,
) -> SaTokenResult<TokenValue>
pub async fn login_with_manager( manager: &SaTokenManager, login_id: impl Into<String>, ) -> SaTokenResult<TokenValue>
会话登录(带 manager 参数的版本,向后兼容)
Sourcepub async fn logout(token: &TokenValue) -> SaTokenResult<()>
pub async fn logout(token: &TokenValue) -> SaTokenResult<()>
会话登出
pub async fn logout_with_manager( manager: &SaTokenManager, token: &TokenValue, ) -> SaTokenResult<()>
Sourcepub async fn kick_out(login_id: impl LoginId) -> SaTokenResult<()>
pub async fn kick_out(login_id: impl LoginId) -> SaTokenResult<()>
踢人下线(根据登录ID)
pub async fn kick_out_with_manager( manager: &SaTokenManager, login_id: &str, ) -> SaTokenResult<()>
Sourcepub async fn logout_by_login_id(login_id: impl LoginId) -> SaTokenResult<()>
pub async fn logout_by_login_id(login_id: impl LoginId) -> SaTokenResult<()>
强制登出(根据登录ID)
Sourcepub async fn logout_by_token(token: &TokenValue) -> SaTokenResult<()>
pub async fn logout_by_token(token: &TokenValue) -> SaTokenResult<()>
根据 token 登出(别名方法,更直观)
Sourcepub fn get_token_value() -> SaTokenResult<TokenValue>
pub fn get_token_value() -> SaTokenResult<TokenValue>
Sourcepub async fn logout_current() -> SaTokenResult<()>
pub async fn logout_current() -> SaTokenResult<()>
Sourcepub fn is_login_current() -> bool
pub fn is_login_current() -> bool
Sourcepub fn check_login_current() -> SaTokenResult<()>
pub fn check_login_current() -> SaTokenResult<()>
Sourcepub fn get_login_id_as_string() -> SaTokenResult<String>
pub fn get_login_id_as_string() -> SaTokenResult<String>
Sourcepub fn get_login_id_as_long() -> SaTokenResult<i64>
pub fn get_login_id_as_long() -> SaTokenResult<i64>
Sourcepub fn get_token_info_current() -> SaTokenResult<Arc<TokenInfo>>
pub fn get_token_info_current() -> SaTokenResult<Arc<TokenInfo>>
Sourcepub async fn is_login(token: &TokenValue) -> bool
pub async fn is_login(token: &TokenValue) -> bool
检查当前 token 是否已登录
Sourcepub async fn is_login_by_login_id(login_id: impl LoginId) -> bool
pub async fn is_login_by_login_id(login_id: impl LoginId) -> bool
pub async fn is_login_with_manager( manager: &SaTokenManager, token: &TokenValue, ) -> bool
Sourcepub async fn check_login(token: &TokenValue) -> SaTokenResult<()>
pub async fn check_login(token: &TokenValue) -> SaTokenResult<()>
检查当前 token 是否已登录,如果未登录则抛出异常
Sourcepub async fn get_token_info(token: &TokenValue) -> SaTokenResult<TokenInfo>
pub async fn get_token_info(token: &TokenValue) -> SaTokenResult<TokenInfo>
获取 token 信息
Sourcepub async fn get_login_id(token: &TokenValue) -> SaTokenResult<String>
pub async fn get_login_id(token: &TokenValue) -> SaTokenResult<String>
获取当前 token 的登录ID
Sourcepub async fn get_login_id_or_default(
token: &TokenValue,
default: impl Into<String>,
) -> String
pub async fn get_login_id_or_default( token: &TokenValue, default: impl Into<String>, ) -> String
获取当前 token 的登录ID,如果未登录则返回默认值
Sourcepub async fn get_token_by_login_id(
login_id: impl LoginId,
) -> SaTokenResult<TokenValue>
pub async fn get_token_by_login_id( login_id: impl LoginId, ) -> SaTokenResult<TokenValue>
Sourcepub async fn get_all_tokens_by_login_id(
login_id: impl LoginId,
) -> SaTokenResult<Vec<TokenValue>>
pub async fn get_all_tokens_by_login_id( login_id: impl LoginId, ) -> SaTokenResult<Vec<TokenValue>>
Sourcepub async fn get_session(login_id: impl LoginId) -> SaTokenResult<SaSession>
pub async fn get_session(login_id: impl LoginId) -> SaTokenResult<SaSession>
获取当前登录账号的 Session
Sourcepub async fn save_session(session: &SaSession) -> SaTokenResult<()>
pub async fn save_session(session: &SaSession) -> SaTokenResult<()>
保存 Session
Sourcepub async fn delete_session(login_id: impl LoginId) -> SaTokenResult<()>
pub async fn delete_session(login_id: impl LoginId) -> SaTokenResult<()>
删除 Session
Sourcepub async fn set_session_value<T: Serialize>(
login_id: impl LoginId,
key: &str,
value: T,
) -> SaTokenResult<()>
pub async fn set_session_value<T: Serialize>( login_id: impl LoginId, key: &str, value: T, ) -> SaTokenResult<()>
在 Session 中设置值
Sourcepub async fn get_session_value<T: DeserializeOwned>(
login_id: impl LoginId,
key: &str,
) -> SaTokenResult<Option<T>>
pub async fn get_session_value<T: DeserializeOwned>( login_id: impl LoginId, key: &str, ) -> SaTokenResult<Option<T>>
从 Session 中获取值
Sourcepub fn create_token(token_value: impl Into<String>) -> TokenValue
pub fn create_token(token_value: impl Into<String>) -> TokenValue
创建一个新的 token(但不登录)
Sourcepub fn is_valid_token_format(token: &str) -> bool
pub fn is_valid_token_format(token: &str) -> bool
检查 token 格式是否有效(仅检查格式,不检查是否存在于存储中)
Source§impl StpUtil
impl StpUtil
Sourcepub async fn set_permissions(
login_id: impl LoginId,
permissions: Vec<String>,
) -> SaTokenResult<()>
pub async fn set_permissions( login_id: impl LoginId, permissions: Vec<String>, ) -> SaTokenResult<()>
为用户添加权限
Sourcepub async fn add_permission(
login_id: impl LoginId,
permission: impl Into<String>,
) -> SaTokenResult<()>
pub async fn add_permission( login_id: impl LoginId, permission: impl Into<String>, ) -> SaTokenResult<()>
为用户添加单个权限
Sourcepub async fn remove_permission(
login_id: impl LoginId,
permission: &str,
) -> SaTokenResult<()>
pub async fn remove_permission( login_id: impl LoginId, permission: &str, ) -> SaTokenResult<()>
移除用户的某个权限
Sourcepub async fn clear_permissions(login_id: impl LoginId) -> SaTokenResult<()>
pub async fn clear_permissions(login_id: impl LoginId) -> SaTokenResult<()>
清除用户的所有权限
Sourcepub async fn get_permissions(login_id: impl LoginId) -> Vec<String>
pub async fn get_permissions(login_id: impl LoginId) -> Vec<String>
获取用户的所有权限
Sourcepub async fn has_permission(login_id: impl LoginId, permission: &str) -> bool
pub async fn has_permission(login_id: impl LoginId, permission: &str) -> bool
检查用户是否拥有指定权限
Sourcepub async fn has_all_permissions(
login_id: impl LoginId,
permissions: &[&str],
) -> bool
pub async fn has_all_permissions( login_id: impl LoginId, permissions: &[&str], ) -> bool
检查用户是否拥有所有指定权限(AND 逻辑)
Sourcepub async fn has_permissions_and(
login_id: impl LoginId,
permissions: &[&str],
) -> bool
pub async fn has_permissions_and( login_id: impl LoginId, permissions: &[&str], ) -> bool
检查用户是否拥有所有指定权限(别名,AND 逻辑)
Sourcepub async fn has_any_permission(
login_id: impl LoginId,
permissions: &[&str],
) -> bool
pub async fn has_any_permission( login_id: impl LoginId, permissions: &[&str], ) -> bool
检查用户是否拥有任一指定权限(OR 逻辑)
Sourcepub async fn has_permissions_or(
login_id: impl LoginId,
permissions: &[&str],
) -> bool
pub async fn has_permissions_or( login_id: impl LoginId, permissions: &[&str], ) -> bool
检查用户是否拥有任一指定权限(别名,OR 逻辑)
Sourcepub async fn check_permission(
login_id: impl LoginId,
permission: &str,
) -> SaTokenResult<()>
pub async fn check_permission( login_id: impl LoginId, permission: &str, ) -> SaTokenResult<()>
检查权限,如果没有则抛出异常
Source§impl StpUtil
impl StpUtil
Sourcepub async fn set_roles(
login_id: impl LoginId,
roles: Vec<String>,
) -> SaTokenResult<()>
pub async fn set_roles( login_id: impl LoginId, roles: Vec<String>, ) -> SaTokenResult<()>
为用户设置角色
Sourcepub async fn add_role(
login_id: impl LoginId,
role: impl Into<String>,
) -> SaTokenResult<()>
pub async fn add_role( login_id: impl LoginId, role: impl Into<String>, ) -> SaTokenResult<()>
为用户添加单个角色
Sourcepub async fn remove_role(
login_id: impl LoginId,
role: &str,
) -> SaTokenResult<()>
pub async fn remove_role( login_id: impl LoginId, role: &str, ) -> SaTokenResult<()>
移除用户的某个角色
Sourcepub async fn clear_roles(login_id: impl LoginId) -> SaTokenResult<()>
pub async fn clear_roles(login_id: impl LoginId) -> SaTokenResult<()>
清除用户的所有角色
Sourcepub async fn has_all_roles(login_id: impl LoginId, roles: &[&str]) -> bool
pub async fn has_all_roles(login_id: impl LoginId, roles: &[&str]) -> bool
检查用户是否拥有所有指定角色(AND 逻辑)
Sourcepub async fn has_roles_and(login_id: impl LoginId, roles: &[&str]) -> bool
pub async fn has_roles_and(login_id: impl LoginId, roles: &[&str]) -> bool
检查用户是否拥有所有指定角色(别名,AND 逻辑)
Sourcepub async fn has_any_role(login_id: impl LoginId, roles: &[&str]) -> bool
pub async fn has_any_role(login_id: impl LoginId, roles: &[&str]) -> bool
检查用户是否拥有任一指定角色(OR 逻辑)
Sourcepub async fn has_roles_or(login_id: impl LoginId, roles: &[&str]) -> bool
pub async fn has_roles_or(login_id: impl LoginId, roles: &[&str]) -> bool
检查用户是否拥有任一指定角色(别名,OR 逻辑)
Sourcepub async fn check_role(login_id: impl LoginId, role: &str) -> SaTokenResult<()>
pub async fn check_role(login_id: impl LoginId, role: &str) -> SaTokenResult<()>
检查角色,如果没有则抛出异常
Source§impl StpUtil
impl StpUtil
Sourcepub async fn kick_out_batch<T: LoginId>(
login_ids: &[T],
) -> SaTokenResult<Vec<Result<(), SaTokenError>>>
pub async fn kick_out_batch<T: LoginId>( login_ids: &[T], ) -> SaTokenResult<Vec<Result<(), SaTokenError>>>
批量踢人下线
Sourcepub async fn get_token_timeout(token: &TokenValue) -> SaTokenResult<Option<i64>>
pub async fn get_token_timeout(token: &TokenValue) -> SaTokenResult<Option<i64>>
获取 token 剩余有效时间(秒)
Sourcepub async fn renew_timeout(
token: &TokenValue,
timeout_seconds: i64,
) -> SaTokenResult<()>
pub async fn renew_timeout( token: &TokenValue, timeout_seconds: i64, ) -> SaTokenResult<()>
续期 token(重置过期时间)
Auto Trait Implementations§
impl Freeze for StpUtil
impl RefUnwindSafe for StpUtil
impl Send for StpUtil
impl Sync for StpUtil
impl Unpin for StpUtil
impl UnwindSafe for StpUtil
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more