fix: (rbac) admin privilege

This commit is contained in:
xushuhui 2022-04-24 14:09:56 +08:00
parent eeb1953837
commit 0a3aed312c
3 changed files with 17 additions and 6 deletions

View File

@ -6,6 +6,7 @@ import (
"github.com/golang-jwt/jwt"
"github.com/mitchellh/mapstructure"
"golang.org/x/crypto/bcrypt"
"infini.sh/console/internal/biz/enum"
"infini.sh/console/internal/dto"
"infini.sh/console/model/rbac"
"infini.sh/framework/core/event"
@ -98,10 +99,17 @@ func authorize(user Account) (m map[string]interface{}, err error) {
return
}
var roles, privilege []string
for _, v := range user.Roles {
roles = append(roles, v.Name)
r, _ := GetRole(v.Id)
privilege = append(privilege, r.Platform...)
if user.Username == "admin" {
roles = append(roles, "admin")
privilege = append(privilege, enum.AdminPrivilege...)
} else {
for _, v := range user.Roles {
roles = append(roles, v.Name)
r, _ := GetRole(v.Id)
privilege = append(privilege, r.Platform...)
}
}
m = util.MapStr{

View File

@ -13,7 +13,9 @@ var RuleAll = []string{"rule::read", "rule::write"}
var InstanceRead = []string{"instance::read"}
var InstanceAll = []string{"instance::read", "instance::write"}
var AdminPrivilege = []string{
"role::read", "role::all", "user::read", "user::all",
}
var Admin []string
var BuildRoles = make(map[string]map[string]interface{}, 0)

View File

@ -7,7 +7,8 @@ var RolePermission = make(map[string][]string)
var EsRolePermission = make(map[string]EsRole)
type EsRole struct {
Cluster []struct {
Platform []string `json:"platform"`
Cluster []struct {
Id string `json:"id"`
Name string `json:"name"`
} `json:"cluster,omitempty"`