新增个性
- 反对 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>
📫 背景
在支流的前后端拆散架构中,如何通过无效疾速的认证鉴权来爱护后端提供的 restful api
变得尤为重要。对现存框架,不原生反对 rest
的apache shiro
,
还是深度绑定 spring
,较慢性能,学习曲线平缓的spring security
,或多或少都不是咱们的现实型。
于是乎 sureness
诞生了,咱们心愿能解决这些,提供一个面向 restful api, 无框架依赖 ,能够 动静批改权限 , 多认证策略 , 更快速度 , 易用易扩大 的认证鉴权框架。
🎡 介绍
sureness
是咱们在深度应用权限框架apache shiro
之后, 汲取其一些长处全新设计开发的一个认证鉴权框架
面向restful api
的认证鉴权, 基于rbac
(用户 - 角色 - 资源)次要关注于对restful api
的平安爱护
无特定框架依赖 (实质就是过滤器处拦挡判断, 已有springboot,quarkus,javalin,ktor
等集成样例)
反对动静批改权限配置 (动静批改配置每个rest api
谁有权拜访)
反对websocket
, 支流http
容器servlet
和jax-rs
反对多种认证策略,jwt, basic auth, digest auth
… 可扩大自定义反对的认证形式
基于改良的字典匹配树领有的高性能
良好的扩大接口, 样例和文档
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
- more samples todo
我的项目仓库地址,欢送应用,开源不易,感觉不错请大佬们 star 下给予激励,弯腰感激。
GITHUB 仓库地址
GITEE 仓库地址