

springboot集成轻量级权限认证框架sa-token
以下为 快照 页面,建议前往来源网站查看,会有更好的阅读体验。
原文链接: http://www.cnblogs.com/yunchu/p/14272953.html
sa-token是什么?
sa-token是一个JavaWeb轻量级权限认证框架,主要解决项目中登录认证、权限认证、Session会话等一系列由此衍生的权限相关业务。相比于其他安全性框架较容易上手。
- github: github.com/click33/sa-…
- 官网文档: sa-token.dev33.cn/
代码示例
1 sa-token的API调用非常简单,有多简单呢?以登录验证为例,你只需要: 2 // 在登录时写入当前会话的账号id 3 StpUtil.setLoginId(10001); 4 // 然后在任意需要校验登录处调用以下API --- 如果当前会话未登录,这句代码会抛出 `NotLoginException`异常 5 StpUtil.checkLogin();
如果上面的示例能够证明sa-token的简单,那么以下API则可以证明sa-token的强大
1 StpUtil.setLoginId(10001); // 标记当前会话登录的账号id 2 StpUtil.getLoginId(); // 获取当前会话登录的账号id 3 StpUtil.isLogin(); // 获取当前会话是否已经登录, 返回true或false 4 StpUtil.logout(); // 当前会话注销登录 5 StpUtil.logoutByLoginId(10001); // 让账号为10001的会话注销登录(踢人下线) 6 StpUtil.hasRole("super-admin"); // 查询当前账号是否含有指定角色标识, 返回true或false 7 StpUtil.hasPermission("user:add"); // 查询当前账号是否含有指定权限, 返回true或false 8 StpUtil.getSession(); // 获取当前账号id的Session 9 StpUtil.getSessionByLoginId(10001); // 获取账号id为10001的Session 10 StpUtil.getTokenValueByLoginId(10001); // 获取账号id为10001的token令牌值 11 StpUtil.setLoginId(10001, "PC"); // 指定设备标识登录 12 StpUtil.logoutByLoginId(10001, "PC"); // 指定设备标识进行强制注销 (不同端不受影响) 13 StpUtil.switchTo(10044); // 将当前会话身份临时切换为其它账号
框架涵盖功能
与SpringBoot集成具体API
sa-token.dev33.cn/doc/index.h…
登录验证具体API
sa-token.dev33.cn/doc/index.h…
示例:
1 StpUtil.setLoginId(Object loginId) 2 标记当前会话登录的账号id 3 建议的参数类型:long | int | String, 不可以传入复杂类型,如:User、Admin等等 4 5 StpUtil.logout() 6 当前会话注销登录 7 8 StpUtil.isLogin() 9 获取当前会话是否已经登录,返回true=已登录,false=未登录 10 11 StpUtil.checkLogin() 12 检验当前会话是否已经登录, 如果未登录,则抛出异常:NotLoginException 13 扩展:NotLoginException 对象可通过 getLoginKey() 方法获取具体是哪个 StpLogic 抛出的异常 14 扩展:NotLoginException 对象可通过 getType() 方法获取具体的场景值,详细参考章节:未登录场景值 15 16 StpUtil.getLoginId() 17 获取当前会话登录id, 如果未登录,则抛出异常:NotLoginException 18 类似API还有: 19 StpUtil.getLoginIdAsString() 获取当前会话登录id, 并转化为String类型 20 StpUtil.getLoginIdAsInt() 获取当前会话登录id, 并转化为int类型 21 StpUtil.getLoginIdAsLong() 获取当前会话登录id, 并转化为long类型 22 23 StpUtil.getLoginId(T defaultValue) 24 获取当前会话登录id, 如果未登录,则返回默认值 (defaultValue可以为任意类型) 25 类似API还有: 26 StpUtil.getLoginIdDefaultNull() 获取当前会话登录id, 如果未登录,则返回null 27 28 StpUtil.getLoginIdByToken(String tokenValue) 29 获取指定token对应的登录id,如果未登录,则返回 null 30 31 StpUtil.getTokenName() 32 获取当前StpLogic的token名称
权限验证查看具体API
sa-token.dev33.cn/doc/index.h…
写在最后
源码开源,作者不易,如果你喜欢这个框架麻烦你随手点一颗小星星哦!
猜你喜欢
-
1
SpringBoot整合Shiro权限框架实战 - 陈彦斌 - 博客园 SpringBoot整合Shiro权限框架实战...
-
82
Token 认证的来龙去脉
-
24
-
2
SpringBoot框架下集成萤石云平台开发海康的摄像头 今日推荐一手...
-
1
0x00 前言 在之前的文章《渗透技巧——从Admin权限切...
-
175
引言: 本文系《认证鉴权与API权限控制在微服务架构中的设计与实现》系列的第一篇,本系列预计四篇文章讲解微服务下的认证鉴权与API权限控制的实现。 1. 背景 最近在做权限相关服务的开发,在系统微服务化后,原有的单体应用是基于session的安全权限方式,不能
-
103
-
137
-
87
引言: 本文系《认证鉴权与API权限控制在微服务架构中的设计与实现》系列的完结篇,前面三篇已经将认证鉴权与API权限控制的流程和主要细节讲解完。本文比较长,对这个系列进行收尾,主要内容包括对授权和鉴权流程之外的endpoint以及Spring Security过滤器部分踩坑...
-
125
Mongodb默认是不开启认证的,对于数据库来说,这有很大的安全隐患,下面记录下生产中Mongodb权限认证的方法。一,环境阿里云:CentOSLinuxrelease7.4.1708(Core)Mongodb版本:3.6.2二,添加超级用户Mongodb的权限认证是基于数据库的,要想创建普通用户,必须要通过...
关于极客头条
聚合每日国内外有价值,有趣的链接。