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/golang-jwt/jwt"
|
||||||
"github.com/mitchellh/mapstructure"
|
"github.com/mitchellh/mapstructure"
|
||||||
"golang.org/x/crypto/bcrypt"
|
"golang.org/x/crypto/bcrypt"
|
||||||
|
"infini.sh/console/internal/biz/enum"
|
||||||
"infini.sh/console/internal/dto"
|
"infini.sh/console/internal/dto"
|
||||||
"infini.sh/console/model/rbac"
|
"infini.sh/console/model/rbac"
|
||||||
"infini.sh/framework/core/event"
|
"infini.sh/framework/core/event"
|
||||||
|
@ -98,10 +99,17 @@ func authorize(user Account) (m map[string]interface{}, err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
var roles, privilege []string
|
var roles, privilege []string
|
||||||
for _, v := range user.Roles {
|
if user.Username == "admin" {
|
||||||
roles = append(roles, v.Name)
|
roles = append(roles, "admin")
|
||||||
r, _ := GetRole(v.Id)
|
privilege = append(privilege, enum.AdminPrivilege...)
|
||||||
privilege = append(privilege, r.Platform...)
|
} else {
|
||||||
|
for _, v := range user.Roles {
|
||||||
|
roles = append(roles, v.Name)
|
||||||
|
|
||||||
|
r, _ := GetRole(v.Id)
|
||||||
|
|
||||||
|
privilege = append(privilege, r.Platform...)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m = util.MapStr{
|
m = util.MapStr{
|
||||||
|
|
|
@ -13,7 +13,9 @@ var RuleAll = []string{"rule::read", "rule::write"}
|
||||||
|
|
||||||
var InstanceRead = []string{"instance::read"}
|
var InstanceRead = []string{"instance::read"}
|
||||||
var InstanceAll = []string{"instance::read", "instance::write"}
|
var InstanceAll = []string{"instance::read", "instance::write"}
|
||||||
|
var AdminPrivilege = []string{
|
||||||
|
"role::read", "role::all", "user::read", "user::all",
|
||||||
|
}
|
||||||
var Admin []string
|
var Admin []string
|
||||||
var BuildRoles = make(map[string]map[string]interface{}, 0)
|
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)
|
var EsRolePermission = make(map[string]EsRole)
|
||||||
|
|
||||||
type EsRole struct {
|
type EsRole struct {
|
||||||
Cluster []struct {
|
Platform []string `json:"platform"`
|
||||||
|
Cluster []struct {
|
||||||
Id string `json:"id"`
|
Id string `json:"id"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
} `json:"cluster,omitempty"`
|
} `json:"cluster,omitempty"`
|
||||||
|
|
Loading…
Reference in New Issue