sa-token是什么?
sa-token是一个JavaWeb轻量级权限认证框架,其API调用非常简单,有多简单呢?以登录验证为例,你只需要:
// 在登录时写入当前会话的账号id StpUtil.setLoginId(10001); // 然后在任意需要校验登录处调用以下API // 如果当前会话未登录,这句代码会抛出 `NotLoginException`异常StpUtil.checkLogin();
没有复杂的封装!不要任何的配置!只需这两行简单的调用,即可轻松完成系统登录鉴权!
框架目前已集成诸多特性:登录验证、权限验证、Session会话、踢人下线、集成Redis、前后台分离、模拟他人账号、多账号体系、注解式鉴权、花式token、自动续签、Spring集成...
API展示
StpUtil.setLoginId(10001); // 标记当前会话登录的账号idStpUtil.getLoginId(); // 获取当前会话登录的账号idStpUtil.isLogin(); // 获取当前会话是否已经登录, 返回true或falseStpUtil.logout(); // 当前会话注销登录StpUtil.logoutByLoginId(10001); // 让账号为10001的会话注销登录(踢人下线)StpUtil.hasRole("super-admin"); // 查询当前账号是否含有指定角色标识, 返回true或falseStpUtil.hasPermission("user:add"); // 查询当前账号是否含有指定权限, 返回true或falseStpUtil.getSession(); // 获取当前账号id的Session StpUtil.getSessionByLoginId(10001); // 获取账号id为10001的SessionStpUtil.getTokenValueByLoginId(10001); // 获取账号id为10001的token令牌值
v1.8.0 更新日志
- 优化:优化源码注释
- 修复:修复部分文档错别字
- 修复:修复项目文件夹名称错误
- 优化:优化文档配色,更舒服的代码展示
- 新增:提供
sa-token
集成redis
的spring-boot-starter
方案 [重要] - 新增:新增集成
redis
时,以jackson
作为序列化方案 [重要] - 新增:dao层默认实现增加定时清理过期数据功能 [重要]
- 新增:新增
token专属session
, 更灵活的会话管理 [重要] - 新增:增加配置,指定在获取
token专属session
时是否必须登录 - 新增:在无token时自动创建会话,完美兼容
token-session
会话模型! [重要] - 修改:权限码限定必须为String类型
- 优化:注解验证模式由boolean属性改为枚举方式
- 删除:
StpUtil
删除部分冗长API,保持API清爽性 - 新增:新增角色验证 (角色验证与权限验证已完全分离) [重要]
- 优化:移除
StpUtil.kickoutByLoginId()
API,由logoutByLoginId
代替 - 升级:开源协议修改为
Apache-2.0
官网链接: