背景
在主流Web体系结构中,通过有效和快速的身份验证来保护后端提供的RESTfulAPI变得尤为重要。
但是现有的框架,比如ApacheShiro(它本机不支持REST)或SpringSecurity,并不总是理想的框架。
自从“踏实”诞生以来,我们一直希望解决这个问题,并提供一种宁静不依赖于框架的API可以:
- 动态修改权限。
- 提供多个身份验证策略,速度更快。
- 提供易于使用和可扩展的安全框架。
导言
“确定”是一个新的许可项目,灵感来自ApacheShiro–尽管我们已经添加了一些自己的想法!下面是我们把它打包的内容:
- 基于RBAC的RESTfulAPI认证主要集中在RESTfulAPI的保护上。
- 没有特定的框架依赖性(支持SpringBoot、Quarkus、Javalin、KTOR等)。
- 支持动态修改权限。
- 支持WebSocket和主流htpp容器,如servlet和JAX-RS。
- 对JWT,基本auth,文摘auth的支持..。可以扩展自定义支持的身份验证方法。
- 高性能到期字典匹配树。
- 良好的扩展界面,演示和文档。
低的确定性配置,以及易于扩展和不耦合的特性,使开发人员能够在多个场景中快速和安全地保护他们的项目。
比较
基准
上面的基准测试表明,对于无框架解决方案来说,确定性损失了一小部分,但是击败了Shiro和SpringSecurity。
另外,安全基本不消耗性能,性能(TPS损失)是Shiro的3倍,Spring Security的4倍。
随着API匹配链的增加,性能差距将进一步扩大。
你可以看到更详细的基准测试在这里。
框架样本支持
您可以在下面找到支持可靠集成的框架的完整列表:
- SpringBoot示例(配置文件方案)样本引导
- SpringBoot示例(数据库方案)样本-汤姆
- 夸克样品样品夸克
- Javalin样品样本-javalin
- KTOR样本样本-KTOR
- 春季网络流量样本样品-弹簧-网通量
- 会话样本踏实
- Redis缓存会话示例确定-红-会话
希望你会感激!