自荐下我们新的全职开源项目 HertzBeat赫兹节拍 - 易用友好的高性能监控告警系统。
网站监测,PING连通性,端口可用性,数据库监控,API监控,自定义监控,阈值告警,告警通知。
代码仓库: GITHUB | GITEE
官网: hertzbeat.com | tancloud.cn
在线使用 https://console.tancloud.cn
欢迎使用,点赞,推荐,灰常感谢🙏。
Bootshiro
此项目正在由sureness替换apache shiro重构进行中,若您需使用apache shiro版本,请见shiro分支
面向REST API的高性能认证鉴权框架 - Sureness
📫 背景
在主流的前后端分离架构中,如何通过有效快速的认证鉴权来保护后端提供的REST API
变得尤为重要。对现存框架,不原生支持RESTful
的Apache Shiro
,
还是深度绑定Spring
的Spring Security
,或多或少都不是我们的理想型。
于是乎Sureness
诞生了,我们希望能解决这些,提供一个面向REST API,无框架依赖,可以动态修改权限,多认证策略,更快速度,易用易扩展的认证鉴权框架。
🎡 介绍
Sureness 是我们在深度使用
Apache Shiro
之后,吸取其优点全新设计开发的一个认证鉴权框架
面向REST API
的认证鉴权,基于RBAC
(用户-角色-资源)主要关注于对API
的安全保护
无特定Web框架依赖(已有Spring Boot,Quarkus,Javalin,Ktor,Micronaut,Jfinal,Solon
等集成样例)
支持动态修改权限配置(动态修改配置每个API
谁有权访问)
支持Websocket
,主流HTTP
容器Servlet
和JAX-RS
支持多种认证策略,JWT, Basic Auth, Digest Auth
... 可扩展自定义认证方式
基于改进的字典匹配树拥有的高性能
良好的扩展接口, 样例和文档助急速理解扩展使用
Sureness
的低配置,易扩展,不耦合其他框架,希望能对系统多场景快速安全的保护
🔍 对比
~ | sureness | shiro | spring security |
---|---|---|---|
多框架支持 | 支持 | 需改动支持 | 不支持 |
restful api | 支持 | 需改动支持 | 支持 |
websocket | 支持 | 不支持 | 不支持 |
过滤链匹配 | 优化的字典匹配树 | ant匹配 | ant匹配 |
注解支持 | 支持 | 支持 | 支持 |
servlet | 支持 | 支持 | 支持 |
jax-rs | 支持 | 不支持 | 不支持 |
权限动态修改 | 支持 | 需改动支持 | 需改动支持 |
性能速度 | 较快 | 较慢 | 较慢 |
学习曲线 | 简单 | 简单 | 陡峭 |
✌ 支持样例
- Sureness集成Spring Boot样例(配置文件方案) sample-bootstrap
- Sureness集成Spring Boot样例(数据库方案) sample-tom
- Sureness集成Quarkus样例 sample-quarkus
- Sureness集成Javalin样例 sample-javalin
- Sureness集成Ktor样例 sample-ktor
- Sureness集成Spring Webflux样例 sample-spring-webflux
- Sureness集成Micronaut样例 sample-micronaut
- Sureness集成Jfinal样例 sample-jfinal
- Sureness集成Solon样例 sample-solon
- Sureness集成Spring Gateway样例 sample-spring-gateway
- Sureness集成Zuul样例 sample-zuul
- Sureness使用Session样例 sureness-session
- Sureness分布式缓存Session样例 sureness-redis-session
- More samples todo
bootshiro
此项目正在由sureness替换apache shiro重构进行中,若您需使用apache shiro版本,请见shiro分支
bootshiro
是基于springboot+sureness
的面向REST API
资源无状态认证权限管理系统的后端,前端为另一个项目usthe- 提供页面可配置式的,动态的
API
权限安全管理支持 - 数据传输动态秘钥加密,
JWT
过期刷新,用户操作监控等加固应用安全
前端 usthe
基于angular5 + angular-cli + typeScript + rxjs + bootstrap + adminLTE
,践行angular最佳实践。
持续集成
流程长这样~:
增加kubernetes支持:
bootshiro.yaml
详细实现技术见另一篇: docker学习
开源推荐
JustAuth
小而全而美的第三方登录开源组件: https://gitee.com/yadong.zhang/JustAuthMaxKey
业界领先的企业级开源IAM身份管理和身份认证产品: https://gitee.com/dromara/MaxKeyPhalApi
一个轻量级PHP开源接口框架: https://www.phalapi.net/
======================================
欢迎一起完善哦^^
效果展示
Thanks: