package com.tcm.training.admin.app.auth.service;
|
|
import com.tcm.training.admin.app.auth.support.StpAppUserUtil;
|
import cn.dev33.satoken.stp.SaTokenInfo;
|
import org.springframework.stereotype.Service;
|
|
/**
|
* APP 登录态门面,隔离 Sa-Token 静态调用,便于认证服务测试。
|
*/
|
@Service
|
public class AppAuthSessionService {
|
|
/**
|
* 为指定 APP 用户建立登录态。
|
*/
|
public void login(Long userId) {
|
StpAppUserUtil.login(userId);
|
}
|
|
/**
|
* 判断当前请求是否存在 APP 登录态。
|
*/
|
public boolean isLogin() {
|
return StpAppUserUtil.isLogin();
|
}
|
|
/**
|
* 获取当前 APP 登录用户 ID。
|
*/
|
public Long getLoginUserId() {
|
return StpAppUserUtil.getLoginIdAsLong();
|
}
|
|
/**
|
* 获取当前 APP 登录用户 ID,不存在时抛出未登录异常。
|
*/
|
public Long requireLoginUserId() {
|
StpAppUserUtil.checkLogin();
|
return StpAppUserUtil.getLoginIdAsLong();
|
}
|
|
/**
|
* 获取当前 APP 登录态的 token 信息。
|
*/
|
public SaTokenInfo getTokenInfo() {
|
return StpAppUserUtil.getTokenInfo();
|
}
|
|
/**
|
* 获取当前请求携带的 APP token 值。
|
*/
|
public String getTokenValue() {
|
return StpAppUserUtil.getTokenValue();
|
}
|
|
/**
|
* 注销当前 APP 登录态。
|
*/
|
public void logout() {
|
StpAppUserUtil.logout();
|
}
|
}
|