粉丝开源:比 Spring Security 快 4 倍的认证鉴权框架
前几天发布了一个文章:一个喜欢搜罗软件的哥们,给大家推荐了一下自己的哥们儿。发布之后好多人加我微信。
没想到有不少开源爱好者关注了逛逛GitHub,有个朋友给我看了他开源的项目,找我推荐一下,我看了一下挺不错的,便有了今天的文章。
我打算新开一个栏目,专门推荐粉丝们开源的项目,如果自己开源了不错的项目可以找我推荐,前提是足够优质。下面是这位朋友开源项目解决的问题和创建初衷。
他认为在主流的前后端分离架构中,有效快速的认证鉴权来保护后端提供的restful api
是非常重要的。
可视现存的框架存在一些问题,比如不原生支持rest
的apache shiro
,
深度绑定spring
性能较慢等。还有学习曲线陡峭的spring security
,或多或少都不是我们的理想型。
于是乎sureness
诞生了,我们希望能解决这些,提供一个面向 restful api,无框架依赖,可以动态修改权限,多认证策略,更快速度,易用易扩展的认证鉴权框架。
ONE.
介绍
sureness
是我们在深度使用权限框架 apache shiro
之后, 吸取其一些优点全新设计开发的一个认证鉴权框架。
面向 restful api
的认证鉴权,基于 rbac
(用户-角色-资源)主要关注于对 restful api
的安全保护。无特定框架依赖(本质就是过滤器处拦截判断,已有Spring Boot,quarkus,javalin,ktor
等集成样例)
支持动态修改权限配置(动态修改配置每个rest api
谁有权访问),支持 websocket
,主流http
容器 servlet
和 jax-rs
。支持多种认证策略, jwt, basic auth, digest auth
等可扩展自定义支持的认证方式。
基于改进的字典匹配树拥有的高性能,具有良好的扩展接口, 样例和文档。sureness
的低配置,易扩展,不耦合其他框架,希望能帮助开发者对自己的项目多场景快速安全的进行保护
TWO.
框架对比
下图是基准测试,结果显示 无权限框架应用损耗 0.026ms 性能,shiro 损耗 0.088ms, spring security 损耗 0.116ms, 相比之下 sureness 基本不消耗性能,且性能是 shiro 的 3 倍,spring security 的 4 倍。
性能差距会随着 api 匹配链的增加而进一步拉大:
下图是三个框架的对比,可以看到粉丝开源的框架支持功能丰富,学习曲线简单。
除此之外,sureness 还集成了 Spring Boot 、quarkus、javalin、ktor、spring webflux等,还提供了样例。