fix: (rbac) role permission

This commit is contained in:
xushuhui 2022-04-21 14:12:57 +08:00
parent 2593a5a065
commit bfc314d01d
2 changed files with 18 additions and 7 deletions

View File

@ -30,17 +30,19 @@ const GetInstanceStatus = "get_instance_status"
const ConnectInstance = "connect_instance" const ConnectInstance = "connect_instance"
const InstanceProxy = "instance_proxy" const InstanceProxy = "instance_proxy"
var All = []string{CreateUser, UpdateUser, DeleteUser, GetUser, SearchUser, CreateRole, UpdateRole, DeleteRole, GetRole, SearchRole, ListPermission} var All = []string{CreateUser, UpdateUser, DeleteUser, GetUser, SearchUser, CreateRole, UpdateRole, DeleteRole, GetRole,
SearchRole, ListPermission, CreateRule, UpdateRule, DeleteRule, GetRule, SearchRule, CreateInstance, UpdateInstance, DeleteInstance,
GetInstance, SearchInstance, GetInstanceStatus, ConnectInstance, InstanceProxy}
var Admin = []string{CreateUser, UpdateUser, DeleteUser, GetUser, SearchUser, CreateRole, UpdateRole, DeleteRole, GetRole, SearchRole, ListPermission} var Admin = []string{CreateUser, UpdateUser, DeleteUser, GetUser, SearchUser, CreateRole, UpdateRole, DeleteRole, GetRole, SearchRole, ListPermission}
var AdminUser = []string{CreateUser, UpdateUser, DeleteUser, GetUser, SearchUser} var AdminUser = []string{CreateUser, UpdateUser, DeleteUser, GetUser, SearchUser}
var AdminRole = []string{CreateRole, UpdateRole, DeleteRole, GetRole, SearchRole, ListPermission}
var BuildRoles = make(map[string]map[string]interface{}, 0) var BuildRoles = make(map[string]map[string]interface{}, 0)
func init() { func init() {
BuildRoles["admin"] = map[string]interface{}{ BuildRoles["admin"] = map[string]interface{}{
"id": "admin", "id": "admin",
"name": "admin", "name": "admin",
"permission": AdminUser, "permission": Admin,
"builtin": true, "builtin": true,
"description": "is admin", "description": "is admin",
"created": time.Now(), "created": time.Now(),

View File

@ -4,7 +4,16 @@ type CreateRole struct {
Name string `json:"name"` Name string `json:"name"`
Description string `json:"description" ` Description string `json:"description" `
RoleType string `json:"type" ` RoleType string `json:"type" `
Permission interface{} `json:"permission"` Permission RolePermission `json:"permission"`
}
type RolePermission struct {
Api []string `json:"api"`
Menu []Menu `json:"menu"`
}
type Menu struct {
Id string `json:"id"`
Name string `json:"name"`
Switch string `json:"switch"`
} }
type UpdateRole struct { type UpdateRole struct {
Description string `json:"description" ` Description string `json:"description" `