Sureness 集成 Jfinal - 面向 REST API 的高性能认证鉴权框架

栏目: 软件资讯 · 发布时间: 3年前

内容简介:Sureness是一个无web框架依赖的认证鉴权框架,集成了很多主流框架的DEMO。昨晚项目版本更新发布后有同学在问有支持Jfinal吗,因为之前也被很多次问过,由于自己的懒惰一直没写,今天下班后快速集成了一个, 第一次...

Sureness是一个无web框架依赖的认证鉴权框架,集成了很多主流框架的DEMO。昨晚项目版本更新发布后有同学在问有支持Jfinal吗,因为之前也被很多次问过,由于自己的懒惰一直没写,今天下班后快速集成了一个, 第一次用Jfinal, 欢迎大佬们围观帮忙review代码。之前没接触过Jfinal,说下用了的感受,真香哈哈。然后祝大佬们五一节快乐!

DEMO 地址 https://gitee.com/tomsun28/sureness/tree/master/samples/jfinal-sureness

???? sureness

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

???? 介绍

sureness 是我们在深度使用权限框架 apache shiro 之后,吸取其一些优点全新设计开发的一个认证鉴权框架
1. 面向 restful api 的认证鉴权,基于 rbac (用户-角色-资源)主要关注于对 restful api 的安全保护
2. 无特定框架依赖(本质就是过滤器处拦截判断,已有springboot,quarkus,javalin,ktor等集成样例)
3. 支持动态修改权限配置(动态修改配置每个rest api谁有权访问)
4. 支持 websocket ,主流http容器 servlet  jax-rs
5. 支持多种认证策略jwt, basic auth, digest auth ... 可扩展自定义支持的认证方式
6. 基于改进的字典匹配树拥有的高性能
7. 良好的扩展接口样例和文档

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

???? 框架对比

~

sureness

shiro

spring security

多框架支持

支持

需改动支持

不支持

restful api

支持

需改动支持

支持

websocket

支持

不支持

不支持

过滤链匹配

优化的字典匹配树

ant匹配

ant匹配

注解支持

支持

支持

支持

servlet

支持

支持

支持

jax-rs

支持

不支持

不支持

权限动态修改

支持

需改动支持

需改动支持

性能速度

较快

较慢

较慢

学习曲线

简单

简单

陡峭

???? 基准性能测试

Sureness 集成 Jfinal  - 面向 REST API 的高性能认证鉴权框架

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

 框架支持样例

项目仓库地址,欢迎使用,开源不易,觉得不错请大佬们star下给予鼓励,感谢。

GITEE仓库地址
GITHUB仓库地址


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Introduction to Semi-Supervised Learning

Introduction to Semi-Supervised Learning

Xiaojin Zhu、Andrew B. Goldberg / Morgan and Claypool Publishers / 2009-6-29 / USD 40.00

Semi-supervised learning is a learning paradigm concerned with the study of how computers and natural systems such as humans learn in the presence of both labeled and unlabeled data. Traditionally, le......一起来看看 《Introduction to Semi-Supervised Learning》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

html转js在线工具
html转js在线工具

html转js在线工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换