最近一直在持续开发和完善 GrantForge,今天正式发布 2026.1.0 版本!
GrantForge 是一款基于 Spring Boot、Spring Security 和 Vue 3 构建的开源权限管理平台。
项目最初主要围绕 RBAC(基于角色的访问控制)展开,希望提供一个易于使用、方便集成和扩展的权限管理基础。
随着项目不断迭代,我也在思考一个问题:
权限管理是否只能停留在用户、角色、菜单和 API 层面?
在实际开发和企业系统中,除了应用自身的权限,还存在大量外部系统的访问控制需求。
例如:
-
Hadoop HDFS 中,哪些用户可以访问指定目录?
-
MySQL 中,哪些用户可以访问某张表?
-
数据库中的敏感字段是否应该对所有用户可见?
-
不同用户查询相同的数据表,是否应该返回不同的数据范围?
-
ZooKeeper 中的节点访问权限如何统一管理?
-
如何让权限策略真正作用于外部系统的访问过程?
这些问题也成为 GrantForge 继续扩展的方向。
本次 2026.1.0 版本在原有权限管理能力的基础上,新增了 HDFS、ZooKeeper 和 MySQL 服务插件及对应的代理能力。
同时,进一步完善了策略执行、数据脱敏、行级过滤、控制台国际化等功能。
✨ 一、本次更新亮点
1. Apache Hadoop HDFS 权限管理
本次新增 Apache Hadoop HDFS 服务支持。
为了兼容不同版本的 Hadoop,GrantForge 提供分版本的 NameNode 代理,并共用一个原生模块。
目前覆盖以下 Hadoop 版本:
-
Hadoop 2.7
-
Hadoop 2.10
-
Hadoop 3.2
-
Hadoop 3.3
-
Hadoop 3.4
-
Hadoop 3.5
同时,HDFS 代理还支持:
-
Kerberos 身份认证
-
跨多个 Kerberos 域的集群
-
查询之间保留登录状态
-
自动 HA 故障切换
-
基于服务配置的 swebhdfs 信任管理
-
代理策略执行与决策指标上报
其中,Hadoop 2.10 至 3.5 的 Kerberos 集群及自动 HA 故障切换场景已经完成验证。
对于需要管理多个 Hadoop 集群的场景,可以通过 GrantForge 将权限策略与 HDFS 访问控制结合起来。
相关文档:
https://grantforge.devlive.org/external/hdfs-agent/
2. Apache ZooKeeper 权限管理
新增 ZooKeeper 服务插件及服务端代理。
主要能力包括:
-
ZooKeeper 服务连接
-
TLS 安全会话
-
znode 节点分页查询
-
根据服务策略判定和标记 ACL
-
服务端代理执行访问策略
通过服务插件和代理,可以将 ZooKeeper 的节点访问控制纳入 GrantForge 的权限管理体系。
相关文档:
https://grantforge.devlive.org/external/zookeeper-agent/
3. MySQL 数据库权限管理
本次更新中,MySQL 是一个重点扩展方向。
新增 MySQL 服务插件,支持浏览:
-
数据库
-
数据表
-
数据列
同时支持配置:
-
数据访问策略
-
字段脱敏策略
-
行级数据过滤策略
这意味着 GrantForge 的权限管理不再局限于简单的“允许访问”或“拒绝访问”。
还可以进一步控制用户能够看到哪些数据。
例如:
场景一:字段脱敏
某张用户表包含手机号、邮箱等敏感信息。
对于不同的访问主体,可以通过策略控制敏感字段的返回内容。
场景二:行级过滤
不同用户即使访问同一张表,也可能只被允许查看部分数据。
可以通过行过滤策略限制返回的数据范围。
场景三:列级检查
MySQL 代理可以按列检查 SQL 语句,并执行相应的访问控制策略。
本次新增的 MySQL 代理支持:
-
SQL 语句列级检查
-
敏感数据脱敏
-
查询结果行过滤
-
根据配置策略执行访问控制
通过这些能力,GrantForge 开始从应用层权限管理进一步延伸到数据访问控制。
相关文档:
https://grantforge.devlive.org/plugins/mysql/
https://grantforge.devlive.org/external/mysql-agent/
🛡️ 二、策略管理与代理能力增强
新增外部系统权限控制后,策略的配置、执行和问题排查也变得更加重要。
本次版本针对这些方面进行了优化。
1. 策略代理执行
支持通过代理执行脱敏与行过滤策略。
权限不仅仅停留在控制台配置层面,而是可以应用到相应的数据访问过程。
2. 策略编辑器优化
策略编辑器现在可以浏览服务目录,并选择对应的资源路径。
减少手动输入资源路径带来的错误。
3. 更清晰的错误提示
针对外部服务查询失败的情况,提供更加明确的错误信息。
例如:
-
无法连接服务
-
登录被拒绝
-
缺少访问权限
让用户更容易定位配置和权限问题。
4. 插件停用影响检查
停用插件前,系统会列出可能受到影响的内容。
降低插件配置变更过程中遗漏关联资源的风险。
🌍 三、支持 11 种语言
本次版本还完善了 GrantForge 的国际化能力。
控制台和文档站现在均支持 11 种语言:
-
简体中文
-
繁体中文
-
英语
-
日语
-
韩语
-
俄语
-
德语
-
法语
-
西班牙语
-
巴西葡萄牙语
-
意大利语
用户可以在控制台中切换语言,也可以在系统初始化时选择语言。
文档站同样提供多语言内容,并增强了韩文和西里尔文字的搜索支持。
希望通过这些改进,让不同地区的开发者能够更加方便地了解和使用 GrantForge。
🎨 四、控制台体验优化
除了后端能力扩展,本次还针对控制台进行了多项调整。
安全与账号管理
-
支持扫描二维码配置两步登录。
-
登录页面列出可登录的目录。
-
账号管理页面拆分为独立标签页。
-
每个账号标签页都有对应的页面地址。
交互体验
-
行操作改为带提示的图标按钮。
-
优化对话框打开和关闭动画。
-
对话框忽略背景点击,减少误操作。
-
日期输入改为日历选择器。
-
资源树新增搜索能力。
-
优化表单字段校验提示。
-
统一审计日志和 API 目录的分页体验。
这些改进主要是为了让 GrantForge 的管理界面更加统一、清晰和易用。
🔧 五、问题修复与稳定性改进
本次版本还修复了多项问题。
MySQL
-
修复代理 SLF4J 绑定进入服务器日志的问题。
-
修正身份映射相关声明。
ZooKeeper
-
升级 Netty,修复相关安全公告涉及的问题。
-
进一步加固 TLS 会话。
插件系统
-
优化服务查询失败时的错误响应。
-
内置插件增加产品版本信息。
控制台
-
修复对话框交互问题。
-
优化表单校验提示。
-
修复滚动与数据服务表单的相关问题。
🚀 六、关于 GrantForge
GrantForge 是一个基于 Spring Boot、Spring Security 和 Vue 3 构建的开源权限管理项目。
项目采用 MIT License 开源。
最初,GrantForge 主要提供 RBAC 权限管理基础能力。
随着版本迭代,项目开始进一步扩展外部系统的权限管理。
目前的方向主要包括:
-
统一管理用户和角色权限
-
通过插件扩展外部系统
-
为不同服务配置访问控制策略
-
通过代理执行相应策略
-
支持更细粒度的数据访问控制
-
提供统一的可视化管理控制台
我希望 GrantForge 不只是一个可以直接集成的 RBAC 管理系统,而是逐渐发展为一个能够管理多种外部系统访问权限的开源平台。
当然,目前项目仍然处于持续开发和完善阶段,还有不少功能和使用体验需要进一步优化。
🔗 七、项目地址
GitHub:
https://github.com/devlive-community/grantforge
官方网站:
https://grantforge.devlive.org/
版本: 2026.1.0
开源协议: MIT
完整更新记录:
https://github.com/devlive-community/grantforge/compare/v2026.0.0...v2026.1.0
欢迎大家体验 GrantForge!
如果项目对你有所帮助,欢迎在 GitHub 点个 Star。
同时也欢迎通过 Issue 和 Pull Request 反馈问题、提出建议或参与开发。
最后,也想和大家讨论一个问题:
对于一个开源权限管理平台,你更关注传统 RBAC 功能,还是 HDFS、数据库等外部系统的统一权限控制?
欢迎交流!