Sa-Token 介绍

Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权 等一系列权限相关问题。

前几天无意在一个论坛中看到一个博文,有关讨论认证鉴权的开源框架的问题,在众多大佬的言语中,我们不用猜能想到我们所熟知的两个开源框架 Spring Security 和Shiro,但是这肯定不是我今天写这篇博文的重点,重点是一个不起眼的评论吸引了我。

一个坛友把Sa-Token(此处高光)吹的神乎其神,无所能无所不能,各种牛批的接口封装,各种你想不到的认证和鉴权的功能,而且也是一个开源的轻量级框架,就这么些介绍,兄弟们就问你们心动不心动,抱着半信半疑的心态,咱这就去官网上敲了敲。

不瞧不知道一瞧吓跳,额滴神,这么牛*的么,惊了我的三观,颠覆了我的认知。就只看这个官网页面,就问你们服不服?
在这里插入图片描述
在这里插入图片描述

就问你,你的项目这些功能够用不够? 别急这还不是重点,重点是这些功能你不需要像Security 和Shiro那样费时费力的去实现,人家Sa—Token保姆式的给你封装好了,只需要几行代码的调用就能够完成,简简单单

在这里插入图片描述
这里举几个常见的接口调用示例:

StpUtil.login(10001);                     // 标记当前会话登录的账号id
StpUtil.getLoginId();                     // 获取当前会话登录的账号id
StpUtil.isLogin();                        // 获取当前会话是否已经登录, 返回true或false
StpUtil.logout();                         // 当前会话注销登录
StpUtil.logoutByLoginId(10001);           // 让账号为10001的会话注销登录(踢人下线)
StpUtil.hasRole("super-admin");           // 查询当前账号是否含有指定角色标识, 返回true或false
StpUtil.hasPermission("user:add");        // 查询当前账号是否含有指定权限, 返回true或false
StpUtil.getSession();                     // 获取当前账号id的Session
StpUtil.getSessionByLoginId(10001);       // 获取账号id为10001的Session
StpUtil.getTokenValueByLoginId(10001);    // 获取账号id为10001的token令牌值
StpUtil.login(10001, "PC");               // 指定设备标识登录,常用于“同端互斥登录”
StpUtil.logoutByLoginId(10001, "PC");     // 指定设备标识进行强制注销 (不同端不受影响)
StpUtil.openSafe(120);                    // 在当前会话开启二级认证,有效期为120秒 
StpUtil.checkSafe();                      // 校验当前会话是否处于二级认证有效期内,校验失败会抛出异常 
StpUtil.switchTo(10044);                  // 将当前会话身份临时切换为其它账号 

下期我将使用这个神器做一个完全的认证健全的Web应用
Sa-Token官网地址:链接
Sa-Token示例项目地址:链接

码字不易,希望一键三连走起!!!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐