示例#1
0
 public void Invoke()
 {
     ComputedChainDecision?.Invoke(this, new ComputedChainDecisionEventArgs
                                   (
                                       new List <PermissionDecision>(), "unit-test", 1, PermissionResult.Allowed, new GenericNode("Unit.Test", "test")
                                   ));
 }
示例#2
0
        public PermissionResult GetResultUsingChain(string chainName, INode permissionToCheck, int identifier,
                                                    IPermissionManaged resource = null)
        {
            if (!Chains.ContainsKey(chainName))
            {
                Chains[chainName] = new PermissionsChain(_evaluator);
            }

            var tuple = Chains[chainName].ResolvePermission(permissionToCheck, identifier, resource);

            ComputedChainDecision?.Invoke(this, new ComputedChainDecisionEventArgs
                                          (
                                              tuple.Item2, chainName, identifier, tuple.Item1, permissionToCheck
                                          ));

            return(tuple.Item1);
        }