feat: add default permission to built-in group (#1087)

* fix: add default permission

* fix: add default permission

* fix: add default permission
This commit is contained in:
cofecatt 2022-09-02 12:03:13 +08:00 committed by GitHub
parent e108d26ec7
commit e266696b32
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 1 deletions

View File

@ -302,6 +302,10 @@ func CheckAccessPermission(userId string, application *Application) (bool, error
}
if isHit {
containsAsterisk := ContainsAsterisk(userId, permission.Users)
if containsAsterisk {
return true, err
}
enforcer := getEnforcer(permission)
allowed, err = enforcer.Enforce(userId, application.Name, "read")
break

View File

@ -276,7 +276,7 @@ func initBuiltInPermission() {
Name: "permission-built-in",
CreatedTime: util.GetCurrentTime(),
DisplayName: "Built-in Permission",
Users: []string{"built-in/admin"},
Users: []string{"built-in/*"},
Roles: []string{},
Domains: []string{},
Model: "model-built-in",

View File

@ -207,3 +207,17 @@ func GetPermissionsBySubmitter(owner string, submitter string) []*Permission {
return permissions
}
func ContainsAsterisk(userId string, users []string) bool {
containsAsterisk := false
group, _ := util.GetOwnerAndNameFromId(userId)
for _, user := range users {
permissionGroup, permissionUserName := util.GetOwnerAndNameFromId(user)
if permissionGroup == group && permissionUserName == "*" {
containsAsterisk = true
break
}
}
return containsAsterisk
}