Exemple #1
0
        public void ObjectSecurityJustWrapsCommonSecurityDescriptor()
        {
            CommonSecurityDescriptor descriptor = new CommonSecurityDescriptor
                                                      (false, false, ControlFlags.None, null, null, null, null);

            TestSecurity security = new TestSecurity(descriptor);

            Assert.IsNull(security.GetOwner(typeof(SecurityIdentifier)));
            SecurityIdentifier sid = new SecurityIdentifier("WD");

            descriptor.Owner = sid;             // Not virtual, so the conclusion in the test's title.
            Assert.IsFalse(security.OwnerModifiedTest);
            Assert.AreSame(sid, security.GetOwner(typeof(SecurityIdentifier)));

            security.SetOwner(sid);
            Assert.IsTrue(security.OwnerModifiedTest);
            Assert.AreSame(sid, security.GetOwner(typeof(SecurityIdentifier)));
        }
		public void Defaults ()
		{
			TestSecurity security = new TestSecurity ();
			Assert.IsTrue (security.AreAccessRulesCanonical);
			Assert.IsTrue (security.AreAuditRulesCanonical);
			Assert.IsFalse (security.AreAccessRulesProtected);
			Assert.IsFalse (security.AreAuditRulesProtected);
			Assert.IsNull (security.GetGroup (typeof (SecurityIdentifier)));
			Assert.IsNull (security.GetOwner (typeof (SecurityIdentifier)));
		}
        public void Defaults()
        {
            TestSecurity security = new TestSecurity();

            Assert.IsTrue(security.AreAccessRulesCanonical);
            Assert.IsTrue(security.AreAuditRulesCanonical);
            Assert.IsFalse(security.AreAccessRulesProtected);
            Assert.IsFalse(security.AreAuditRulesProtected);
            Assert.IsNull(security.GetGroup(typeof(SecurityIdentifier)));
            Assert.IsNull(security.GetOwner(typeof(SecurityIdentifier)));
        }
		public void SetSddlForm ()
		{
			TestSecurity security = new TestSecurity ();

			SecurityIdentifier groupSid = new SecurityIdentifier ("WD");
			SecurityIdentifier userSid = new SecurityIdentifier ("SY");

			security.SetGroup (groupSid);
			security.SetOwner (userSid);
			Assert.AreEqual ("G:WD", security.GetSecurityDescriptorSddlForm (AccessControlSections.Group));
			Assert.AreEqual ("O:SY", security.GetSecurityDescriptorSddlForm (AccessControlSections.Owner));
			security.SetSecurityDescriptorSddlForm ("O:BG", AccessControlSections.Owner);
			Assert.AreEqual ("O:BG", security.GetSecurityDescriptorSddlForm (AccessControlSections.Owner));
			Assert.AreEqual (new SecurityIdentifier ("BG"), security.GetOwner (typeof (SecurityIdentifier)));
		}
        public void AllTypesAcceptedOnGetGroupOwnerUntilTheyAreSet()
        {
            TestSecurity security = new TestSecurity();

            Assert.IsNull(security.GetGroup(typeof(void)));
            Assert.IsNull(security.GetOwner(typeof(int)));

            SecurityIdentifier everyoneSid = new SecurityIdentifier("WD");

            security.SetOwner(everyoneSid);

            bool throwsOnInt = false;

            try { security.GetOwner(typeof(int)); } catch (ArgumentException) { throwsOnInt = true; }
            Assert.IsTrue(throwsOnInt);

            bool throwsOnSuperclass = false;

            try { security.GetOwner(typeof(IdentityReference)); } catch (ArgumentException) { throwsOnSuperclass = true; }
            Assert.IsTrue(throwsOnSuperclass);

            Assert.IsNull(security.GetGroup(typeof(void)));
            Assert.IsInstanceOfType(typeof(SecurityIdentifier), security.GetOwner(typeof(SecurityIdentifier)));
        }
        public void SetSddlForm()
        {
            TestSecurity security = new TestSecurity();

            SecurityIdentifier groupSid = new SecurityIdentifier("WD");
            SecurityIdentifier userSid  = new SecurityIdentifier("SY");

            security.SetGroup(groupSid);
            security.SetOwner(userSid);
            Assert.AreEqual("G:WD", security.GetSecurityDescriptorSddlForm(AccessControlSections.Group));
            Assert.AreEqual("O:SY", security.GetSecurityDescriptorSddlForm(AccessControlSections.Owner));
            security.SetSecurityDescriptorSddlForm("O:BG", AccessControlSections.Owner);
            Assert.AreEqual("O:BG", security.GetSecurityDescriptorSddlForm(AccessControlSections.Owner));
            Assert.AreEqual(new SecurityIdentifier("BG"), security.GetOwner(typeof(SecurityIdentifier)));
        }
		public void ObjectSecurityJustWrapsCommonSecurityDescriptor ()
		{
			CommonSecurityDescriptor descriptor = new CommonSecurityDescriptor
				(false, false, ControlFlags.None, null, null, null, null);

			TestSecurity security = new TestSecurity (descriptor);
			Assert.IsNull (security.GetOwner (typeof(SecurityIdentifier)));
			SecurityIdentifier sid = new SecurityIdentifier ("WD");

			descriptor.Owner = sid; // Not virtual, so the conclusion in the test's title.
			Assert.IsFalse (security.OwnerModifiedTest);
			Assert.AreSame (sid, security.GetOwner (typeof(SecurityIdentifier)));

			security.SetOwner (sid);
			Assert.IsTrue (security.OwnerModifiedTest);
			Assert.AreSame (sid, security.GetOwner (typeof(SecurityIdentifier)));
		}
		public void AllTypesAcceptedOnGetGroupOwnerUntilTheyAreSet ()
		{
			TestSecurity security = new TestSecurity ();
			Assert.IsNull (security.GetGroup (typeof (void)));
			Assert.IsNull (security.GetOwner (typeof (int)));

			SecurityIdentifier everyoneSid = new SecurityIdentifier ("WD");
			security.SetOwner (everyoneSid);

			bool throwsOnInt = false;
			try { security.GetOwner (typeof (int)); } catch (ArgumentException) { throwsOnInt = true; }
			Assert.IsTrue (throwsOnInt);

			bool throwsOnSuperclass = false;
			try { security.GetOwner (typeof (IdentityReference)); } catch (ArgumentException) { throwsOnSuperclass = true; }
			Assert.IsTrue (throwsOnSuperclass);

			Assert.IsNull (security.GetGroup (typeof (void)));
			Assert.IsInstanceOfType (typeof (SecurityIdentifier), security.GetOwner (typeof (SecurityIdentifier)));
		}