public ReadWriteACLFixture()
        {
            ACL = new ReadWriteAccessControlList();

            _resources  = GenerateRandomStringArray(1000);
            _principals = GenerateRandomStringArray(100);
            _operations = GenerateRandomStringArray(100);

            foreach (var resource in _resources)
            {
                foreach (var principal in _principals)
                {
                    foreach (var operation in _operations)
                    {
                        if (_random.Next(2) > 0)
                        {
                            ACL.Grant(principal, operation, resource);
                        }
                        else
                        {
                            ACL.Deny(principal, operation, resource);
                        }
                    }
                }
            }
        }
示例#2
0
        public void IsHierarchyGrantedEnum1()
        {
            var acl = new ReadWriteAccessControlList();

            acl.Grant("principal1", Operation.Write, "r1");
            Assert.True(acl.IsHierarchyGranted("principal1", Operation.Write, "r1.r2.r3.r4"));
        }
示例#3
0
        public void Grant()
        {
            var acl = new ReadWriteAccessControlList();

            acl.Grant("principal1", "operation1", "resource1");
            Assert.True(acl.IsGranted("principal1", "operation1", "resource1"));
        }
示例#4
0
        public void IsHierarchyGranted2()
        {
            var acl = new ReadWriteAccessControlList();

            acl.Grant("principal1", "operation1", "r1");
            acl.Deny("principal1", "operation1", "r1.r2");
            Assert.False(acl.IsHierarchyGranted("principal1", "operation1", "r1.r2.r3"));
        }
 public PermissionManager(ReadWriteAccessControlList acl)
 {
     _acl = acl;
 }