From bbb1012d135ff4537b33b45559531aafcd906c7f Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sun, 4 Aug 2024 10:56:15 +0800 Subject: [PATCH] 1 --- server/adminserver/mt/Permission.go | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/server/adminserver/mt/Permission.go b/server/adminserver/mt/Permission.go index dff537cc..e469d4eb 100644 --- a/server/adminserver/mt/Permission.go +++ b/server/adminserver/mt/Permission.go @@ -64,14 +64,14 @@ func (this *PermissionTable) CheckAPIPermission(account string, cmd string) bool return false } -func (this *PermissionTable) GetUIPermission(account string) string { - per, exist := this.userHash.Load(account) +func (this *PermissionTable) GetUIPermission(accountAddress string) string { + u, exist := this.userHash.Load(strings.ToLower(accountAddress)) if !exist { return "{}" } kvlist := map[string]bool{} - (*per).ui.Range(func(k string, v bool) bool { + (*u).ui.Range(func(k string, v bool) bool { kvlist[k] = v return true }) @@ -197,10 +197,28 @@ func (this *PermissionTable) genUserPermission(u *user) { }) { for _, val := range u.specApi { - u.api.Store(val, true) + if len(val) <= 0 { + continue + } + if val[0] == '-' { + if len(val) > 1 { + u.api.Store(val[1:], false) + } + } else { + u.api.Store(val, true) + } } for _, val := range u.specUi { - u.ui.Store(val, true) + if len(val) <= 0 { + continue + } + if val[0] == '-' { + if len(val) > 1 { + u.ui.Store(val[1:], false) + } + } else { + u.ui.Store(val, true) + } } } }