Skip to content

Latest commit

 

History

History
75 lines (55 loc) · 4.35 KB

README_CN.md

File metadata and controls

75 lines (55 loc) · 4.35 KB

sureness

sureness-gateway | English Documentation

Netflix Zuul 集成 Sureness 在网关层面提供API的认证鉴权。

Gitter

sureness - Jvm security framework that focus on protection of rest api | Product Hunt

主页: usthe.com/sureness, 备用网站: su.usthe.com

📫 背景

在主流的前后端分离架构中,如何通过有效快速的认证鉴权来保护后端提供的REST API变得尤为重要。对现存框架,不原生支持restapache shiro, 还是深度绑定spring,学习曲线陡峭的spring security,或多或少都不是我们的理想型。
于是乎sureness诞生了,我们希望能解决这些,提供一个面向REST API无框架依赖,可以动态修改权限多认证策略更快速度易用易扩展的认证鉴权框架。

🎡 介绍

sureness 是我们在深度使用权限框架 apache shiro 之后,吸取其优点全新设计开发的一个认证鉴权框架
面向 REST API 的认证鉴权,基于 RBAC (用户-角色-资源)主要关注于对 API 的安全保护
无特定框架依赖(本质就是过滤器处拦截判断,已有 Springboot,Quarkus,Javalin,Ktor 等集成样例)
支持动态修改权限配置(动态修改配置每个 API 谁有权访问) 支持 Websocket ,主流 HTTP 容器 ServletJAX-RS
支持多种认证策略, JWT, Basic auth, Digest auth ... 可扩展自定义支持的认证方式
基于改进的字典匹配树拥有的高性能
良好的扩展接口, 样例和文档助急速理解扩展

sureness的低配置,易扩展,不耦合其他框架,希望能帮助开发者对自己的项目多场景快速安全的进行保护

🔍 框架对比
~ sureness shiro spring security
多框架支持 支持 需改动支持 不支持
REST API 支持 需改动支持 支持
Websocket 支持 不支持 不支持
过滤链匹配 优化的字典匹配树 ant匹配 ant匹配
注解支持 支持 支持 支持
Servlet 支持 支持 支持
JAX-RS 支持 不支持 不支持
权限动态修改 支持 需改动支持 需改动支持
性能速度 较快 较慢 较慢
学习曲线 简单 简单 陡峭
📈 基准性能测试

benchmark

基准测试显示sureness对比无权限框架应用损耗0.026ms性能,shiro损耗0.088ms,spring security损耗0.116ms, 相比之下sureness基本不消耗性能,且性能(参考TPS损耗)是shiro的3倍,spring security的4倍
性能差距会随着api匹配链的增加而进一步拉大
详见基准测试

✌ 框架支持样例

💪 高性能匹配

pathRoleMatcher