完善角色权限与数据隔离

This commit is contained in:
yml2213
2026-07-26 14:00:50 +08:00
parent b483cbc26d
commit 16d9ab0e5e
38 changed files with 2847 additions and 292 deletions
+9 -2
View File
@@ -59,7 +59,7 @@ func toChannelView(ch model.Channel) channelView {
}
func requireTenantAdmin(c *gin.Context) bool {
if middleware.HasAnyRole(c, "admin") {
if middleware.HasPermission(c, "settings.channel") {
return true
}
c.JSON(http.StatusForbidden, gin.H{"code": 403, "message": "仅租户管理员可操作"})
@@ -74,8 +74,15 @@ func (h *ChannelHandler) List(c *gin.Context) {
return
}
views := make([]channelView, 0, len(channels))
canManage := middleware.HasPermission(c, "settings.channel")
for _, ch := range channels {
views = append(views, toChannelView(ch))
view := toChannelView(ch)
if !canManage {
view.Config = ""
view.ScriptCode = ""
view.ChannelKey = ""
}
views = append(views, view)
}
middleware.JSON(c, views)
}