mirror of
https://github.com/casdoor/casdoor.git
synced 2025-09-10 12:50:29 +08:00
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:
@@ -302,6 +302,10 @@ func CheckAccessPermission(userId string, application *Application) (bool, error
|
|||||||
}
|
}
|
||||||
|
|
||||||
if isHit {
|
if isHit {
|
||||||
|
containsAsterisk := ContainsAsterisk(userId, permission.Users)
|
||||||
|
if containsAsterisk {
|
||||||
|
return true, err
|
||||||
|
}
|
||||||
enforcer := getEnforcer(permission)
|
enforcer := getEnforcer(permission)
|
||||||
allowed, err = enforcer.Enforce(userId, application.Name, "read")
|
allowed, err = enforcer.Enforce(userId, application.Name, "read")
|
||||||
break
|
break
|
||||||
|
@@ -276,7 +276,7 @@ func initBuiltInPermission() {
|
|||||||
Name: "permission-built-in",
|
Name: "permission-built-in",
|
||||||
CreatedTime: util.GetCurrentTime(),
|
CreatedTime: util.GetCurrentTime(),
|
||||||
DisplayName: "Built-in Permission",
|
DisplayName: "Built-in Permission",
|
||||||
Users: []string{"built-in/admin"},
|
Users: []string{"built-in/*"},
|
||||||
Roles: []string{},
|
Roles: []string{},
|
||||||
Domains: []string{},
|
Domains: []string{},
|
||||||
Model: "model-built-in",
|
Model: "model-built-in",
|
||||||
|
@@ -207,3 +207,17 @@ func GetPermissionsBySubmitter(owner string, submitter string) []*Permission {
|
|||||||
|
|
||||||
return permissions
|
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
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user