SuperAPI AI 工具集

implementing-casbin

通用与其它

查看项目

更新于 10-16 06:46

技能介绍

用途:在 Go 服务中基于 Casbin 实现细粒度授权,支持 RBAC(基于角色)、ABAC(基于属性)及混合模型,策略可存储于数据库。

主要能力:通过模型文件定义请求、策略、角色与匹配器;支持角色继承、keyMatch2 路径参数匹配、多租户域(domain)模型;使用 GORM 适配器对接 PostgreSQL/MySQL 持久化策略;提供 Chi 中间件示例;支持策略增删查、批量执行与过滤加载。

使用方式:先安装依赖 go get github.com/casbin/casbin/v2、github.com/casbin/gorm-adapter/v3 及对应数据库驱动;创建 rbac_model.conf 模型文件;用 gormadapter.NewAdapterByDB 初始化 Enforcer 并开启 EnableAutoSave(true);在 Chi 中间件中调用 e.Enforce(user, path, method) 判断;通过 AddRoleForUser、AddPolicy 定义策略。

适用场景:需要角色或属性级权限控制的 Go API 服务、多租户系统。

限制:不适用于简单 API Key 认证、单用户应用、仅做 OAuth/OIDC 令牌校验或编译期静态权限的场景。策略集较大时需用 LoadFilteredPolicy 或 BatchEnforce 优化性能;路径参数匹配需选对 keyMatch2/keyMatch3。

资料未提供具体收费、价格与效果数据。