fix: (rbac) admin privilege
This commit is contained in:
parent
eeb1953837
commit
0a3aed312c
|
@ -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{
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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"`
|
||||
|
|
Loading…
Reference in New Issue