# casbin **Repository Path**: go_27/casbin ## Basic Information - **Project Name**: casbin - **Description**: No description available - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-28 - **Last Updated**: 2025-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Casbin 权限管理框架示例项目 ## 项目介绍 本仓库提供了 Casbin 权限管理框架的完整使用示例,包含基础 ACL、RBAC 权限模型实现,以及与主流 Go Web 框架和 ORM 的集成示例。 ## Casbin 特性 - 支持多种访问控制模型:ACL、RBAC、ABAC 等 - 灵活的策略配置:基于配置文件或数据库存储 - 多种语言实现:Go、Java、Python、Node.js 等 - 框架无关:可与任意框架集成 - 高性能:优化的策略匹配算法 ## 目录结构 ``` f:\code\casbin/ ├── 1.基本使用.go # 基础 ACL 权限示例 ├── 2.rbac.go # RBAC 权限模型示例 ├── model.pml # 基础模型定义文件 ├── policy.csv # 基础策略配置文件 ├── rbac_model.conf # RBAC 模型定义 ├── rbac_policy.csv # RBAC 策略配置 ├── md/ # 使用文档目录 │ ├── casbin使用说明.md # Casbin 基础使用说明 │ ├── casbin在Fiber使用.md # Fiber 框架集成指南 │ ├── casbin在Gin使用.md # Gin 框架集成指南 │ ├── casbin在Gorm使用.md # GORM ORM 集成指南 │ └── rbac示例.md # RBAC 详细示例说明 ├── go.mod # Go 模块文件 └── go.sum # 依赖校验文件 ``` ## 快速开始 ### 1. 安装依赖 ```bash go get github.com/casbin/casbin/v2 ``` ### 2. 基本使用示例 ```go // 基本 ACL 权限检查示例 package main import ( "fmt" "github.com/casbin/casbin/v2" ) func main() { // 初始化执行器 e, err := casbin.NewEnforcer("model.pml", "policy.csv") if err != nil { fmt.Printf("初始化 Casbin 失败: %v\n", err) return } // 检查权限 ok, err := e.Enforce("alice", "data1", "read") if err != nil { fmt.Printf("权限检查错误: %v\n", err) } if ok { fmt.Println("有权限执行操作") } else { fmt.Println("没有权限执行操作") } } ``` ### 3. 运行示例 执行基础示例: ```bash go run 1.基本使用.go ``` 执行 RBAC 示例: ```bash go run 2.rbac.go ``` ## 详细文档 - [Casbin 基础使用说明](md/1.casbin使用说明.md) - [Casbin 在 Gin 框架中使用](md/casbin在Gin使用.md) - [Casbin 在 Fiber 框架中使用](md/casbin在Fiber使用.md) - [Casbin 在 GORM ORM 中使用](md/casbin在Gorm使用.md) - [RBAC 权限模型详细示例](md/rbac示例.md) ## 相关资源 - [Casbin 官方网站](https://casbin.org/) - [Casbin GitHub 仓库](https://github.com/casbin/casbin) - [Casbin Go 语言文档](https://github.com/casbin/casbin/blob/master/README.md) ## 许可证 本项目采用 Apache 2.0 许可证。详见 LICENSE 文件。