docs: 新增 RBAC 与定时任务模块说明

This commit is contained in:
unclesam committed 2026-07-08 23:15:16 +08:00
1 parent 908ae17ddf
commit adcc336842
1 file changed
+12
+12
View File
@@ -18,6 +18,8 @@ A production-ready Go backend project scaffolding based on **Ent ORM + Gin + Cob
* **Database**: Supported MySQL and PostgreSQL. * **Database**: Supported MySQL and PostgreSQL.
* **Cache / Token Blacklist**: Redis integration (go-redis/v9) for logout blacklisting. * **Cache / Token Blacklist**: Redis integration (go-redis/v9) for logout blacklisting.
* **Authentication**: Dual-token (Access Token & Refresh Token) authentication. * **Authentication**: Dual-token (Access Token & Refresh Token) authentication.
* **RBAC & Authorization**: Integrated [Casbin](https://casbin.org/) for robust, policy-based access control.
* **Cron Tasks**: Built-in scheduled task module for running background jobs.
* **Type-Safe Binding**: Generic HTTP request binding & auto-validation middleware. * **Type-Safe Binding**: Generic HTTP request binding & auto-validation middleware.
* **Structured Logs**: Zap logger + Lumberjack log rotation with project-level prefixes. * **Structured Logs**: Zap logger + Lumberjack log rotation with project-level prefixes.
@@ -37,8 +39,10 @@ EnGin/
├── internal/ ├── internal/
│ ├── api/ # API controllers (grouped by domain) │ ├── api/ # API controllers (grouped by domain)
│ │ ├── auth_api/ # Authentication API (login, token refresh) │ │ ├── auth_api/ # Authentication API (login, token refresh)
│ │ ├── casbin_api/ # Casbin policy management API
│ │ └── user_api/ # User management API │ │ └── user_api/ # User management API
│ ├── conf/ # Viper config mapping definitions │ ├── conf/ # Viper config mapping definitions
│ ├── cron/ # Scheduled background tasks
│ ├── db/ # DB connection pool (Ent & Redis initialization) │ ├── db/ # DB connection pool (Ent & Redis initialization)
│ ├── ent/ # Ent generated ORM files │ ├── ent/ # Ent generated ORM files
│ │ └── schema/ # Ent schema definitions (models) │ │ └── schema/ # Ent schema definitions (models)
@@ -108,6 +112,8 @@ go run cmd/server/*.go server
* **配置管理**:[Viper](https://github.com/spf13/viper) - 支持 YAML 映射与动态热加载。 * **配置管理**:[Viper](https://github.com/spf13/viper) - 支持 YAML 映射与动态热加载。
* **缓存与注销**:集成 Redis (go-redis/v9),支持基于黑名单的 Token 安全注销。 * **缓存与注销**:集成 Redis (go-redis/v9),支持基于黑名单的 Token 安全注销。
* **安全鉴权**:支持双 Token (Access Token & Refresh Token) 安全刷新机制。 * **安全鉴权**:支持双 Token (Access Token & Refresh Token) 安全刷新机制。
* **权限控制**:集成 [Casbin](https://casbin.org/) 提供基于策略的灵活 RBAC/ABAC 权限控制。
* **定时任务**:内置解耦的定时任务 (Cron) 模块,支持后台任务管理。
* **强类型绑定**:内置基于 Go 泛型(Generics)的请求绑定与自动参数校验中间件。 * **强类型绑定**:内置基于 Go 泛型(Generics)的请求绑定与自动参数校验中间件。
* **工程日志**:基于 Zap + Lumberjack 自动滚动归档,且支持按配置自动添加项目日志前缀。 * **工程日志**:基于 Zap + Lumberjack 自动滚动归档,且支持按配置自动添加项目日志前缀。
@@ -127,8 +133,10 @@ EnGin/
├── internal/ ├── internal/
│ ├── api/ # API 控制器层(按业务模块划分) │ ├── api/ # API 控制器层(按业务模块划分)
│ │ ├── auth_api/ # 鉴权相关接口 (登录、刷新Token) │ │ ├── auth_api/ # 鉴权相关接口 (登录、刷新Token)
│ │ ├── casbin_api/ # Casbin 权限策略管理接口
│ │ └── user_api/ # 用户管理接口 │ │ └── user_api/ # 用户管理接口
│ ├── conf/ # 配置映射结构体定义 │ ├── conf/ # 配置映射结构体定义
│ ├── cron/ # 后台定时任务模块
│ ├── db/ # 数据库连接池(Ent 和 Redis 连接初始化) │ ├── db/ # 数据库连接池(Ent 和 Redis 连接初始化)
│ ├── ent/ # Ent 框架生成的底层 CRUD 代码 │ ├── ent/ # Ent 框架生成的底层 CRUD 代码
│ │ └── schema/ # Schema 模型定义(数据表结构声明处) │ │ └── schema/ # Schema 模型定义(数据表结构声明处)
@@ -198,6 +206,8 @@ go run cmd/server/*.go server
* **設定管理**: [Viper](https://github.com/spf13/viper) - YAML 設定ファイルのマッピングとホットリロードのサポート。 * **設定管理**: [Viper](https://github.com/spf13/viper) - YAML 設定ファイルのマッピングとホットリロードのサポート。
* **キャッシュ / ログアウト**: Redis (go-redis/v9) によるログアウト Token ブラックリスト管理。 * **キャッシュ / ログアウト**: Redis (go-redis/v9) によるログアウト Token ブラックリスト管理。
* **認証**: デュアルトークン (Access Token & Refresh Token) による安全な認証スキーム。 * **認証**: デュアルトークン (Access Token & Refresh Token) による安全な認証スキーム。
* **アクセス制御**: [Casbin](https://casbin.org/) を統合し、ポリシーベースの堅牢な RBAC 権限管理を提供。
* **定期タスク**: バックグラウンドジョブを実行するための Cron タスクモジュールを内蔵。
* **型安全バインディング**: Go のジェネリクス(Generics)を活用したリクエスト解析&自動バリデーションミドルウェア。 * **型安全バインディング**: Go のジェネリクス(Generics)を活用したリクエスト解析&自動バリデーションミドルウェア。
* **ログ記録**: Zap + Lumberjack ログローテーション、プロジェクト固有のログプレフィックス設定対応。 * **ログ記録**: Zap + Lumberjack ログローテーション、プロジェクト固有のログプレフィックス設定対応。
@@ -217,8 +227,10 @@ EnGin/
├── internal/ ├── internal/
│ ├── api/ # API コントローラ層(ビジネスドメイン別) │ ├── api/ # API コントローラ層(ビジネスドメイン別)
│ │ ├── auth_api/ # 認証関連 API (ログイン、トークン更新) │ │ ├── auth_api/ # 認証関連 API (ログイン、トークン更新)
│ │ ├── casbin_api/ # Casbin ポリシー管理 API
│ │ └── user_api/ # ユーザー管理 API │ │ └── user_api/ # ユーザー管理 API
│ ├── conf/ # 設定ファイルの構造体マッピング定義 │ ├── conf/ # 設定ファイルの構造体マッピング定義
│ ├── cron/ # 定期実行タスク (Cron) モジュール
│ ├── db/ # データベース接続プール(Ent と Redis の初期化) │ ├── db/ # データベース接続プール(Ent と Redis の初期化)
│ ├── ent/ # Ent 生成コード │ ├── ent/ # Ent 生成コード
│ │ └── schema/ # テーブルモデル定義(スキーマ定義場所) │ │ └── schema/ # テーブルモデル定義(スキーマ定義場所)