比Spring Security和 Shiro简单十倍的认证鉴权开源框架你晓得么?
Sa-Token 介绍Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权 等一系列权限相关问题。前几天无意在一个论坛中看到一个博文,有关讨论认证鉴权的开源框架的问题,在众多大佬的言语中,我们不用猜能想到我们所熟知的两个开源框架 Spring Security 和Shiro,但是这肯定不是我今天写这篇博
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示例项目地址:链接
码字不易,希望一键三连走起!!!
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)