sureness 1.0.2 發佈,面向 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無框架依賴,能夠動態修改權限多認證策略更快速度易用易擴展的認證鑑權框架。java

🎡 介紹

sureness 是咱們在深度使用權限框架 apache shiro 以後,吸收其一些優勢全新設計開發的一個認證鑑權框架
面向 restful api 的認證鑑權,基於 rbac (用戶-角色-資源)主要關注於對 restful api 的安全保護
無特定框架依賴(本質就是過濾器處攔截判斷,已有springboot,quarkus,javalin,ktor等集成樣例)
支持動態修改權限配置(動態修改配置每一個rest api誰有權訪問)
支持 websocket ,主流http容器 servletjax-rs
支持多種認證策略, jwt, basic auth, digest auth ... 可擴展自定義支持的認證方式
基於改進的字典匹配樹擁有的高性能
良好的擴展接口, 樣例和文檔 git

sureness的低配置,易擴展,不耦合其餘框架,但願能幫助開發者對本身的項目多場景快速安全的進行保護github

🔍 框架對比
~ sureness shiro spring security
多框架支持 支持 需改動支持 不支持
restful 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匹配鏈的增長而進一步拉大
詳見基準測試web

✌ 框架支持樣例
項目倉庫地址,歡迎使用,開源不易,以爲不錯請大佬們star下給予鼓勵,彎腰感謝。

GITHUB倉庫地址
GITEE倉庫地址spring

相關文章
相關標籤/搜索