Sa-Token 是一个轻量级Java权限认证框架,主要解决了:登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权 等一系列权限相关的问题。
Sa-Token的API设计非常简单:
// 在登录时写入当前会话的账号id
StpUtil.login(100203);
// 然后在需要校验登录处调用以下方法:
// 如果当前会话未登录,这句代码会抛出 `NotLoginException` 异常
StpUtil.checkLogin();
权限认证:(只有具备 "user:add" 权限的会话才可以进入请求)
@SaCheckPermission("user:add")
@RequestMapping("/user/login")
public String login(User user) {
return "用户";
}
将某个账号强制下线(对方再次访问系统时会抛出 ‘NotLoginExpection’ 异常)
// 将账号id为 100203 的会话踢下线
StpUtil.kickout(100203);
在Sa-Token中大部分功能都可以通过一行代码来完成:
StpUtil.login(100203); // 标记当前会话登录的账号id
StpUtil.getLoginId(); // 获取当前会话登录的账号id
StpUtil.isLogin(); // 获取当前会话是否已经登录, 返回true或false
StpUtil.logout(); // 当前会话注销登录
StpUtil.kickout(100203); // 将账号为100203的会话踢下线
StpUtil.hasRole(&#