public virtual Task <IEnumerable <TKey> > GetAllowedKeysAsync(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(_permissionStore.GetAllowedResourceIdsAsync(roles, res, perm, token));
        }