- 4 表设计: permissions, roles, role_permissions(m2m), user_roles - 多租户隔离: 角色和用户角色分配按 tenant_id 隔离 - 权限并集: 多角色用户取权限并集,无继承 - 系统角色保护: is_system 角色不可修改/删除 - 种子数据: 7 个默认权限 + 3 个系统角色(super_admin/tenant_admin/member) - 权限中间件: RequirePermission 支持按路由粒度控制 - API 路由: /api/v1/rbac/ 下完整 CRUD 端点 - fx 注册: RBAC Module 集成到 app.go
17 lines
250 B
Go
17 lines
250 B
Go
package infrastructure
|
|
|
|
import (
|
|
"mengstack/internal/modules/rbac/domain"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func Migrate(db *gorm.DB) error {
|
|
return db.AutoMigrate(
|
|
&domain.Permission{},
|
|
&domain.Role{},
|
|
&domain.RolePermission{},
|
|
&domain.UserRole{},
|
|
)
|
|
}
|