コード例 #1
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.
        }
コード例 #2
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.
		}