package com.tcm.training.admin.app.auth.support;
|
|
import cn.dev33.satoken.stp.SaLoginModel;
|
import cn.dev33.satoken.stp.SaTokenInfo;
|
import cn.dev33.satoken.stp.StpLogic;
|
|
/**
|
* APP 用户独立登录态工具,避免与后台管理员 token 混用。
|
*/
|
public final class StpAppUserUtil {
|
|
private static final StpLogic STP_LOGIC = new StpLogic("app-user");
|
private static final long NEVER_EXPIRE_TIMEOUT = -1L;
|
|
private StpAppUserUtil() {
|
}
|
|
/**
|
* 为 APP 用户建立永久登录态。
|
*/
|
public static void login(Object loginId) {
|
STP_LOGIC.login(loginId, new SaLoginModel().setTimeout(NEVER_EXPIRE_TIMEOUT));
|
}
|
|
/**
|
* 校验当前请求是否已登录 APP 用户。
|
*/
|
public static void checkLogin() {
|
STP_LOGIC.checkLogin();
|
}
|
|
/**
|
* 判断当前请求是否存在 APP 登录态。
|
*/
|
public static boolean isLogin() {
|
return STP_LOGIC.isLogin();
|
}
|
|
/**
|
* 获取当前 APP 用户登录 ID。
|
*/
|
public static Long getLoginIdAsLong() {
|
return STP_LOGIC.getLoginIdAsLong();
|
}
|
|
/**
|
* 获取当前 APP 登录态的 token 信息。
|
*/
|
public static SaTokenInfo getTokenInfo() {
|
return STP_LOGIC.getTokenInfo();
|
}
|
|
/**
|
* 获取底层 APP 登录态逻辑对象,供需要调用 Sa-Token 高级能力的服务复用。
|
*/
|
public static StpLogic getStpLogic() {
|
return STP_LOGIC;
|
}
|
|
/**
|
* 获取当前请求携带的 token 值。
|
*/
|
public static String getTokenValue() {
|
return STP_LOGIC.getTokenValue();
|
}
|
|
/**
|
* 注销当前 APP 登录态。
|
*/
|
public static void logout() {
|
STP_LOGIC.logout();
|
}
|
}
|