乐趣区

关于java:sureness-102-发布面向-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>

📫 背景

在支流的前后端拆散架构中,如何通过无效疾速的认证鉴权来爱护后端提供的 restful api 变得尤为重要。对现存框架,不原生反对 restapache shiro
还是深度绑定 spring,较慢性能,学习曲线平缓的spring security,或多或少都不是咱们的现实型。
于是乎 sureness 诞生了,咱们心愿能解决这些,提供一个面向 restful api 无框架依赖 ,能够 动静批改权限 多认证策略 更快速度 易用易扩大 的认证鉴权框架。

🎡 介绍

sureness 是咱们在深度应用权限框架 apache shiro 之后, 汲取其一些长处全新设计开发的一个认证鉴权框架
面向 restful api 的认证鉴权, 基于 rbac (用户 - 角色 - 资源)次要关注于对 restful api 的平安爱护
无特定框架依赖 (实质就是过滤器处拦挡判断, 已有springboot,quarkus,javalin,ktor 等集成样例)
反对动静批改权限配置 (动静批改配置每个rest api 谁有权拜访)
反对 websocket , 支流 http 容器 servletjax-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 仓库地址

退出移动版