Пример #1
0
        public void Reset()
        {
            bool modifiedRet, modifiedOut;
            SecurityIdentifier everyoneSid = new SecurityIdentifier("WD");
            TestSecurity       security    = new TestSecurity();

            TestAccessRule rule = new TestAccessRule
                                      (everyoneSid, TestRights.One, AccessControlType.Allow);

            modifiedRet = security.ModifyAccessRule(AccessControlModification.Reset, rule, out modifiedOut);
        }
Пример #2
0
        public void ModifyAccessRuleThrowsOnWrongType()
        {
            bool modified;
            SecurityIdentifier everyoneSid = new SecurityIdentifier("WD");
            TestSecurity       security    = new TestSecurity();

            FileSystemAccessRule rule = new FileSystemAccessRule
                                            (everyoneSid, FileSystemRights.FullControl, AccessControlType.Allow);

            security.ModifyAccessRule(AccessControlModification.Add, rule, out modified);
        }
Пример #3
0
        public void ChecksAccessControlModificationRange()
        {
            bool         modifiedRet, modifiedOut;
            TestSecurity security = new TestSecurity();

            SecurityIdentifier sid  = new SecurityIdentifier("WD");
            TestAccessRule     rule = new TestAccessRule
                                          (sid, 1, false, InheritanceFlags.None, PropagationFlags.None,
                                          Guid.Empty, Guid.Empty, AccessControlType.Allow);

            modifiedRet = security.ModifyAccessRule((AccessControlModification)43210,
                                                    rule, out modifiedOut);
        }
		public void ChecksAccessControlModificationRange ()
		{
			bool modifiedRet, modifiedOut;
			TestSecurity security = new TestSecurity ();

			SecurityIdentifier sid = new SecurityIdentifier ("WD");
			TestAccessRule rule = new TestAccessRule
				(sid, 1, false, InheritanceFlags.None, PropagationFlags.None,
				 Guid.Empty, Guid.Empty, AccessControlType.Allow);

			modifiedRet = security.ModifyAccessRule ((AccessControlModification)43210,
			                           		 rule, out modifiedOut);
		}
Пример #5
0
        public void ModifyAccessRuleAllowsDerivedTypeAndCallsModifyAccessButNothingChanges()
        {
            bool modifiedRet, modifiedOut;
            SecurityIdentifier everyoneSid = new SecurityIdentifier("WD");
            TestSecurity       security    = new TestSecurity();

            DerivedAccessRule rule = new DerivedAccessRule(everyoneSid, TestRights.One, AccessControlType.Allow);

            modifiedRet = security.ModifyAccessRule(AccessControlModification.Add, rule, out modifiedOut);
            Assert.AreEqual(modifiedRet, modifiedOut);
            Assert.IsTrue(modifiedRet);

            Assert.IsTrue(security.modify_access_called);
            Assert.AreEqual("D:", security.GetSecurityDescriptorSddlForm(AccessControlSections.All));

            // (1) There is no external abstract/virtual 'get collection',
            // (2) The overrides in this test call this base class, which does not change it, and
            // (3) There are methods based on the collection value such as GetSecurityDescriptorSddlForm.
            // Conclusion: Collection is internal and manipulated by derived classes.
        }
Пример #6
0
		public void Reset ()
		{
			bool modifiedRet, modifiedOut;
			SecurityIdentifier everyoneSid = new SecurityIdentifier ("WD");
			TestSecurity security = new TestSecurity ();

			TestAccessRule rule = new TestAccessRule
				(everyoneSid, TestRights.One, AccessControlType.Allow);

			modifiedRet = security.ModifyAccessRule (AccessControlModification.Reset, rule, out modifiedOut);
		}
Пример #7
0
		public void ModifyAccessRuleThrowsOnWrongType ()
		{
			bool modified;
			SecurityIdentifier everyoneSid = new SecurityIdentifier ("WD");
			TestSecurity security = new TestSecurity ();

			FileSystemAccessRule rule = new FileSystemAccessRule
				(everyoneSid, FileSystemRights.FullControl, AccessControlType.Allow);

			security.ModifyAccessRule (AccessControlModification.Add, rule, out modified);
		}
Пример #8
0
		public void ModifyAccessRuleAllowsDerivedTypeAndCallsModifyAccessButNothingChanges ()
		{
			bool modifiedRet, modifiedOut;
			SecurityIdentifier everyoneSid = new SecurityIdentifier ("WD");
			TestSecurity security = new TestSecurity ();

			DerivedAccessRule rule = new DerivedAccessRule (everyoneSid, TestRights.One, AccessControlType.Allow);

			modifiedRet = security.ModifyAccessRule (AccessControlModification.Add, rule, out modifiedOut);
			Assert.AreEqual (modifiedRet, modifiedOut);
			Assert.IsTrue (modifiedRet);

			Assert.IsTrue (security.modify_access_called);
			Assert.AreEqual ("D:", security.GetSecurityDescriptorSddlForm (AccessControlSections.All));

			// (1) There is no external abstract/virtual 'get collection',
			// (2) The overrides in this test call this base class, which does not change it, and
			// (3) There are methods based on the collection value such as GetSecurityDescriptorSddlForm.
			// Conclusion: Collection is internal and manipulated by derived classes.
		}