public IActionResult ChangeUnsureSave(
            [FromServices] IRoleBasedPermissionRuleRepository checkFeatureRuleRepository,
            [FromServices] IPermissionRuleActionPoolService poolService,
            [FromServices] IPermissionRuleActionPool pool,
            string mode = null)
        {
            var checkFeatureRules = checkFeatureRuleRepository.GetRules();

            var checkFeatureRule = checkFeatureRules.GetRule(KnownPermissionIds.UnsureOp, false);

            if (checkFeatureRule != null)
            {
                if ("guestAllowed".Equals(mode, StringComparison.OrdinalIgnoreCase))
                {
                    checkFeatureRule.SetNeedGuest();
                }
                if ("loginAllowed".Equals(mode, StringComparison.OrdinalIgnoreCase))
                {
                    checkFeatureRule.SetNeedLogin();
                }
                if ("adminAllowed".Equals(mode, StringComparison.OrdinalIgnoreCase))
                {
                    checkFeatureRule.SetNeedUsersOrRoles("", "Admin");
                }
                checkFeatureRuleRepository.Save();
                poolService.RefreshPool(pool);
            }
            return(RedirectToAction("Unsure", "Simple"));
        }
Beispiel #2
0
 public void RefreshPool(IPermissionRuleActionPool pool)
 {
     foreach (var provider in _providers)
     {
         provider.SetRuleActions(pool);
     }
 }
        public void SetRuleActions(IPermissionRuleActionPool ruleActionPool)
        {
            var rules   = _ruleRepository.GetRules();
            var actions = _actionRepository.GetActions();

            ruleActionPool.SetRoleBasedPermissionRules(rules.Values, true);
            ruleActionPool.SetDynamicCheckActions(actions, true);
        }
 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 void SetRuleActions(IPermissionRuleActionPool ruleActionPool)
        {
            var rules = LoadFromSource();

            ruleActionPool.SetRoleBasedPermissionRules(rules);
        }