feat: 方案100%匹配 — RBAC动态权限+Grafana监控+目录库独立微服务+全国目录中心+标识同步

This commit is contained in:
selfrelease
2026-06-30 13:42:11 +08:00
parent 96e2393c50
commit 29a6b57533
40 changed files with 4159 additions and 7 deletions
+15
View File
@@ -12,6 +12,7 @@ import (
"github.com/tcs-iptv/tcs/internal/config"
"github.com/tcs-iptv/tcs/internal/httpx"
"github.com/tcs-iptv/tcs/internal/macode"
"github.com/tcs-iptv/tcs/internal/monitor"
"github.com/tcs-iptv/tcs/internal/service"
)
@@ -93,6 +94,14 @@ func main() {
svc := service.New(ch, gen)
h := api.NewHandler(svc)
// 用户/组织管理服务(系统管理模块)
adminSvc := service.NewAdminService()
adminH := api.NewAdminHandler(adminSvc)
// RBAC 动态权限矩阵(系统管理模块补足)
rbac := httpx.NewRBACManager()
rbacH := api.NewRBACHandler(rbac)
// 鉴权密钥库(MVP 预置四角色示例密钥;生产从 Vault/DB 加载)
keys := httpx.NewMemoryKeyStore()
keys.Add("ak-regulator", "sk-regulator", string(chain.RoleRegulator))
@@ -103,8 +112,14 @@ func main() {
r := gin.Default()
httpx.Health(r, "api-svc")
// 运行监控:Prometheus 指标采集
r.Use(monitor.Middleware())
r.GET("/metrics", monitor.Handler())
v1 := r.Group("/api/v1", httpx.AuthMiddleware(keys))
h.Register(v1)
adminH.Register(v1)
rbacH.Register(v1)
log.Printf("api-svc listening on %s", cfg.APIAddr)
if err := r.Run(cfg.APIAddr); err != nil {