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


官网链接:

sa-tokensa-token.dev33.cnsa-token v1.8.0 版本已发布,带来大量激动人心的特性_java