完善角色权限与数据隔离
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user