public static IList <PermissionCheckResult> CheckRules(this IRoleBasedCheckLogic logic, IEnumerable <RoleBasedPermissionRule> rules, PermissionCheckContext checkContext)
        {
            if (rules == null)
            {
                return(new List <PermissionCheckResult>()
                {
                    PermissionCheckResult.NotSure
                });
            }

            var checkResults = rules.Select(x => logic.Check(x, checkContext)).ToList();

            return(checkResults);
        }
 public RoleBasedPermissionRuleHandler(IHttpContextAccessor httpContextAccessor,
                                       ICurrentUserContext currentUserContext,
                                       IPermissionRuleActionPool ruleActionPool,
                                       SuperPowerCheck superPowerCheck,
                                       IRoleBasedCheckLogic roleBasedPermissionRuleLogic,
                                       ILogger <RoleBasedPermissionRuleHandler> logger,
                                       IPermissionCheckDebugHelper debugHelper,
                                       IOptionsSnapshot <PermissionCheckOptions> snapshot)
 {
     _httpContextAccessor          = httpContextAccessor;
     _currentUserContext           = currentUserContext;
     _ruleActionPool               = ruleActionPool;
     _roleBasedPermissionRuleLogic = roleBasedPermissionRuleLogic;
     _logger          = logger;
     _superPowerCheck = superPowerCheck;
     _debugHelper     = debugHelper;
     _snapshot        = snapshot;
 }
 public static PermissionCheckResult CheckRulesAsOne(this IRoleBasedCheckLogic logic, IEnumerable <RoleBasedPermissionRule> rules, PermissionCheckContext checkContext)
 {
     return(logic.CheckRules(rules, checkContext).Combine());
 }