public virtual async Task <bool> IsAllowedAsync(IEnumerable <TKey> roles, Type resource, IConvertible permissionEnum, CancellationToken token = default(CancellationToken)) { Helpers.CheckIfResourceHasAssignedPermission(resource, permissionEnum); var res = _namingConvertor.GetResourceUniqueName(resource); var perm = _namingConvertor.GetPermissionUniqueIdentifier(permissionEnum); return(await _cache.LoadAsync( () => _permissionStore.IsAllowedAsync(roles, res, perm, token), roles, perm, res)); }