sureness 1.0.2 发布,面向 restful api 的认证鉴权框架
新增特性
- 支持seesion认证鉴权 #86
- 添加seesion使用样例 #87
- 添加分布式缓存session使用样例 #88
- 去除防sql注入中的 (--)字符串正则匹配,防止其误识别jwt的问题 #85
BugFix
Fix the problem that authentication is still needed when the resource… #84
fix api can be accessed by any role when accessRole not config #83
使用
<dependency> <groupId>com.usthe.sureness</groupId> <artifactId>sureness-core</artifactId> <version>1.0.2</version> </dependency>
📫 sureness
在主流的前后端分离架构中,如何通过有效快速的认证鉴权来保护后端提供的restful api
变得尤为重要。对现存框架,不原生支持rest
的apache shiro
, 还是深度绑定spring
,学习曲线陡峭的spring security
,或多或少都不是我们的理想型。
于是乎sureness
诞生了,我们希望能解决这些,提供一个面向restful api,无框架依赖,可以动态修改权限,多认证策略,更快速度,易用易扩展的认证鉴权框架。
🎡 介绍
sureness
是我们在深度使用权限框架 apache shiro
之后,吸取其一些优点全新设计开发的一个认证鉴权框架
1. 面向 restful api
的认证鉴权,基于 rbac
(用户-角色-资源)主要关注于对 restful api
的安全保护
2. 无特定框架依赖(本质就是过滤器处拦截判断,已有springboot,quarkus,javalin,ktor
等集成样例)
3. 支持动态修改权限配置(动态修改配置每个rest api
谁有权访问)
4. 支持 websocket
,主流http
容器 servlet
和 jax-rs
5. 支持多种认证策略, jwt, basic auth, digest auth
... 可扩展自定义支持的认证方式
6. 基于改进的字典匹配树拥有的高性能
7. 良好的扩展接口, 样例和文档
sureness
的低配置,易扩展,不耦合其他框架,希望能帮助开发者对自己的项目多场景快速安全的进行保护
🔍 框架对比
~ | sureness | shiro | spring security |
多框架支持 | 支持 | 需改动支持 | 不支持 |
restful api | 支持 | 需改动支持 | 支持 |
websocket | 支持 | 不支持 | 不支持 |
过滤链匹配 | 优化的字典匹配树 | ant匹配 | ant匹配 |
注解支持 | 支持 | 支持 | 支持 |
servlet | 支持 | 支持 | 支持 |
jax-rs | 支持 | 不支持 | 不支持 |
权限动态修改 | 支持 | 需改动支持 | 需改动支持 |
性能速度 | 较快 | 较慢 | 较慢 |
学习曲线 | 简单 | 简单 | 陡峭 |
📈 基准性能测试
基准测试显示sureness对比无权限框架应用损耗0.026ms性能,shiro损耗0.088ms,spring security损耗0.116ms, 相比之下sureness基本不消耗性能,且性能(参考TPS损耗)是shiro的3倍,spring security的4倍
性能差距会随着api匹配链的增加而进一步拉大
详见基准测试
✌ 框架支持样例
- [√] sureness集成springboot样例(配置文件方案) sample-bootstrap
- [√] sureness集成springboot样例(数据库方案) sample-tom
- [√] sureness集成quarkus样例 sample-quarkus
- [√] sureness集成javalin样例 sample-javalin
- [√] sureness集成ktor样例 sample-ktor
- [√] sureness集成spring webflux样例 sample-spring-webflux
- [√] sureness使用session样例 sureness-session
- [√] sureness分布式缓存session样例 sureness-redis-session
- [√] more samples todo
项目仓库地址,欢迎使用,开源不易,觉得不错请大佬们star下给予鼓励,感谢。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
BookChatApp v1.7 发布,实现对平板等设备横屏阅读的支持
BookChatApp 介绍 BookChatApp,BookChat的uniapp实现版本,通用的书籍阅读 APP,不但拥有简洁美观的UI视觉呈现,还拥有堪比原生应用的性能体验,支持多端分发编译生成 Android 和 iOS 手机 APP,以及微信小程序(其它小程序也支持) 升级日志 本次升级,主要是完成对平板等设备横屏阅读的支持。 升级内容如下: 实现各页面对平板等设备横屏的适配支持 优化书签、书架等部分页面loading对用户体验的影响 执行内容搜索时,自动隐藏键盘,以避免键盘对搜索结果的遮挡(APP发布之后测试发现部分设备还是没法正常隐藏…) 埋下若干bug留待下一版本升级,避免下一版本无级可升 注意事项与说明 不同版本的HBuilderX开发,可能展现页面效果不一样。本版本APP,使用HBuilderX v3.1.7 进行开发。 当前v1.7版本需配套后端程序BookStack v2.10 及以上版本一起使用:https://www.oschina.net/news/126511/bookstack-2-10-released 相关链接 BookChatApp 开源地址 G...
- 下一篇
每日一博 | 有道云笔记新版编辑器架构设计(上)
在开发有道云笔记的新版编辑器的过程中,我们遇到很多实际问题,愈发感觉到这是一个非常有深度的前端技术领域,所以我们将新版编辑器的技术选型、架构和部分实现细节拿出来分享给大家,希望对大家开发富文本编辑器、做复杂系统的架构设计有一定参考意义。 作者/ 金鑫 编辑/ Ryan 来源/ 有道技术团队(ID: youdaotech) 1. 富文本编辑器背景 1.1 什么是编辑器 编辑器在前端开发领域是指可以提供给用户编辑纯文本、富文本、代码、多媒体内容等的功能模块,例如以云笔记为例,编辑器指下图中绿色的区域。 编辑器一般由编辑区域、光标、工具栏、右键菜单等功能模块组成,一般都包含编辑文字、设置文字样式、设置段落样式、插入多媒体内容、撤销重做、复制剪切粘贴等功能。 1.2 编辑器发展简史 编辑器的由来可以追溯到打字机时代,下图是一个常见的打字机。 我们可以将打字机的构造与编辑器进行类比,打字机的纸张对应于编辑器的编辑,打字机的游标对应于编辑器的光标,甚至敲击键盘的表现,编辑器也与打字机一脉相承: 当敲击字母时,在光标后输入该字符; 当敲击空格键时,在游标之后插入空格; 当敲击回格键时,删除游标之前的...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7安装Docker,走上虚拟化容器引擎之路
- MySQL8.0.19开启GTID主从同步CentOS8
- Red5直播服务器,属于Java语言的直播服务器
- Mario游戏-低调大师作品
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题