大家周一好,经过22个版本,2年多的迭代,很高兴激动宣布面向rest api的安全框架-sureness,正式GA啦。
📫 背景
在主流的前后端分离架构中,如何通过有效快速的认证鉴权来保护后端提供的restful api
变得尤为重要。对现存框架,不原生支持rest
的apache shiro
,
还是深度绑定spring
,较慢性能,学习曲线陡峭的spring security
,或多或少都不是我们的理想型。
于是乎sureness
诞生了,我们希望能解决这些,提供一个面向restful api,无框架依赖,可以动态修改权限,多认证策略,更快速度,易用易扩展的认证鉴权框架。
🎡 介绍
🔍 框架对比
多框架支持 | 支持 | 需改动支持 | 不支持 |
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
- more samples todo