private SecurityContext(ISecurityRuntime runtime)
        {
            Id = Guid.NewGuid();
            Data = new ExpandoObject();
            Runtime = runtime;

            var modifyer = runtime.SecurityContextModifyer;
            if (modifyer != null) modifyer.Invoke(this);
        }
Example #2
0
        private SecurityContext(ISecurityRuntime runtime)
        {
            Id      = Guid.NewGuid();
            Data    = new ExpandoObject();
            Runtime = runtime;

            var modifier = runtime.SecurityContextModifyer;

            modifier?.Invoke(this);
        }
        public MockSecurityContext(bool isAuthenticated = true, IEnumerable<object> roles = null, RouteValueDictionary routeValues = null, ISecurityRuntime runtime = null)
        {
            Id = Guid.NewGuid();

            _isAuthenticated = isAuthenticated;
            _roles = roles;

            Data = new ExpandoObject();
            Data.RouteValues = routeValues;

            Runtime = runtime ?? new SecurityRuntime();
        }
Example #4
0
        //methods
        public bool CheckActionPermission(string actionName, string controllerFullName)
        {
            ISecurityContext context = SecurityContext.Current;
            ISecurityRuntime runtime = context.Runtime;

            IPolicyContainer policyContainer = runtime.PolicyContainers
                                               .GetContainerFor(controllerFullName, actionName);
            IEnumerable <PolicyResult> policyResults = policyContainer.EnforcePolicies(context);
            bool valid = policyResults.All(p => !p.ViolationOccured);

            return(valid);
        }
        public MockSecurityContext(bool isAuthenticated = true, IEnumerable <object> roles = null, RouteValueDictionary routeValues = null, ISecurityRuntime runtime = null)
        {
            Id = Guid.NewGuid();

            _isAuthenticated = isAuthenticated;
            _roles           = roles;

            Data             = new ExpandoObject();
            Data.RouteValues = routeValues;

            Runtime = runtime ?? new SecurityRuntime();
        }