MCPcopy Create free account
hub / github.com/astercloud/aster / checkPermissionList

Method checkPermissionList

pkg/security/access_control.go:815–833  ·  view source on GitHub ↗

checkPermissionList 检查权限列表

(permissionIDs []string, resource, action string, context map[string]any)

Source from the content-addressed store, hash-verified

813
814// checkPermissionList 检查权限列表
815func (ac *AccessController) checkPermissionList(permissionIDs []string, resource, action string, context map[string]any) bool {
816 for _, permID := range permissionIDs {
817 permission, exists := ac.permissions[permID]
818 if !exists || !permission.Enabled {
819 continue
820 }
821
822 // 检查资源和操作匹配
823 if (permission.Resource == "*" || permission.Resource == resource) &&
824 (permission.Action == "*" || permission.Action == action) {
825 // 检查权限条件
826 if ac.checkPermissionConditions(permission.Conditions, context) {
827 return true
828 }
829 }
830 }
831
832 return false
833}
834
835// checkPermissionConditions 检查权限条件
836func (ac *AccessController) checkPermissionConditions(conditions []PermissionCondition, context map[string]any) bool {

Callers 1

CheckPermissionMethod · 0.95

Calls 1

Tested by

no test coverage detected