Пример #1
0
        public void Unrestricted()
        {
            DirectoryServicesPermissionAttribute a = new DirectoryServicesPermissionAttribute(SecurityAction.Assert);

            a.Unrestricted = true;
            DirectoryServicesPermission wp = (DirectoryServicesPermission)a.CreatePermission();

            Assert.IsTrue(wp.IsUnrestricted(), "IsUnrestricted");
            Assert.AreEqual("*", a.Path, "Path");
            Assert.AreEqual(DirectoryServicesPermissionAccess.Browse, a.PermissionAccess, "PermissionAccess");

            a.Unrestricted = false;
            wp             = (DirectoryServicesPermission)a.CreatePermission();
            Assert.IsFalse(wp.IsUnrestricted(), "!IsUnrestricted");
        }
Пример #2
0
        public void PermissionState_Bad()
        {
            PermissionState             ps  = (PermissionState)77;
            DirectoryServicesPermission dsp = new DirectoryServicesPermission(ps);

            Assert.IsFalse(dsp.IsUnrestricted(), "IsUnrestricted");
        }
Пример #3
0
        public void Union_None()
        {
            DirectoryServicesPermission dsp1 = new DirectoryServicesPermission(PermissionState.None);

            foreach (DirectoryServicesPermissionAccess ppl in AllAccess)
            {
                DirectoryServicesPermission dsp2 = new DirectoryServicesPermission(PermissionState.None);
                dsp2.PermissionEntries.Add(new DirectoryServicesPermissionEntry(ppl, ppl.ToString()));
                DirectoryServicesPermission union = (DirectoryServicesPermission)dsp1.Union(dsp2);
                Assert.IsFalse(union.IsUnrestricted(), "target.IsUnrestricted " + ppl.ToString());
                Assert.AreEqual(1, union.PermissionEntries.Count, "target.Count " + ppl.ToString());

                union = (DirectoryServicesPermission)dsp2.Union(dsp1);
                Assert.IsFalse(union.IsUnrestricted(), "source.IsUnrestricted " + ppl.ToString());
                Assert.AreEqual(1, union.PermissionEntries.Count, "source.Count " + ppl.ToString());
            }
        }
Пример #4
0
        public void PermissionState_Unrestricted()
        {
            PermissionState             ps  = PermissionState.Unrestricted;
            DirectoryServicesPermission dsp = new DirectoryServicesPermission(ps);

            Assert.AreEqual(0, dsp.PermissionEntries.Count, "PermissionEntries");
            Assert.IsTrue(dsp.IsUnrestricted(), "IsUnrestricted");

            SecurityElement se = dsp.ToXml();

            // only class and version are present
            Assert.AreEqual("true", se.Attribute("Unrestricted"), "Xml-Unrestricted");
            Assert.IsNull(se.Children, "Xml-Children");

            DirectoryServicesPermission copy = (DirectoryServicesPermission)dsp.Copy();

            Assert.IsFalse(Object.ReferenceEquals(dsp, copy), "ReferenceEquals");
            Assert.AreEqual(dsp.PermissionEntries.Count, copy.PermissionEntries.Count, "copy-PermissionEntries");
            Assert.AreEqual(dsp.IsUnrestricted(), copy.IsUnrestricted(), "copy-IsUnrestricted ()");
        }
Пример #5
0
 public void Union_Self()
 {
     foreach (DirectoryServicesPermissionAccess ppl in AllAccess)
     {
         DirectoryServicesPermission dsp = new DirectoryServicesPermission(PermissionState.None);
         dsp.PermissionEntries.Add(new DirectoryServicesPermissionEntry(ppl, ppl.ToString()));
         DirectoryServicesPermission union = (DirectoryServicesPermission)dsp.Union(dsp);
         Assert.IsFalse(union.IsUnrestricted(), "IsUnrestricted " + ppl.ToString());
         Assert.AreEqual(1, union.PermissionEntries.Count, "Count " + ppl.ToString());
     }
 }
Пример #6
0
        public void Default()
        {
            DirectoryServicesPermissionAttribute a = new DirectoryServicesPermissionAttribute(SecurityAction.Assert);

            Assert.AreEqual(a.ToString(), a.TypeId.ToString(), "TypeId");
            Assert.IsFalse(a.Unrestricted, "Unrestricted");
            Assert.AreEqual("*", a.Path, "Path");
            Assert.AreEqual(DirectoryServicesPermissionAccess.Browse, a.PermissionAccess, "PermissionAccess");

            DirectoryServicesPermission sp = (DirectoryServicesPermission)a.CreatePermission();

            Assert.IsFalse(sp.IsUnrestricted(), "IsUnrestricted");
        }
Пример #7
0
        }// CreateDataTable

        protected override void PutValuesinPage()
        {
            // Put in the text for the radio buttons
            m_radUnrestricted.Text             = CResourceStore.GetString("DirectoryServicesPerm:GrantUnrestrict");
            m_radGrantFollowingPermission.Text = CResourceStore.GetString("DirectoryServicesPerm:GrantFollowing");

            DirectoryServicesPermission perm = (DirectoryServicesPermission)m_perm;

            CheckUnrestricted(perm);

            if (!perm.IsUnrestricted())
            {
                // Run through the list of socket permissions we have to accept connections
                IEnumerator enumer = perm.PermissionEntries.GetEnumerator();
                while (enumer.MoveNext())
                {
                    DirectoryServicesPermissionEntry dspp = (DirectoryServicesPermissionEntry)enumer.Current;
                    DataRow newRow;
                    newRow         = m_dt.NewRow();
                    newRow["Path"] = dspp.Path;

                    String sAccessString = "";
                    if (dspp.PermissionAccess == DirectoryServicesPermissionAccess.Browse)
                    {
                        sAccessString = CResourceStore.GetString("DirectoryServicesPermission:Browse");
                    }
                    else if (dspp.PermissionAccess == DirectoryServicesPermissionAccess.Write)
                    {
                        sAccessString = CResourceStore.GetString("DirectoryServicesPermission:Write");
                    }
                    else
                    {
                        sAccessString = CResourceStore.GetString("<unknown>");
                    }

                    newRow["Access"] = new DataGridComboBoxEntry(sAccessString);
                    m_dt.Rows.Add(newRow);
                }
            }

            // We want at least 1 row so it looks pretty
            while (m_dt.Rows.Count < 1)
            {
                AddEmptyRow(m_dt);
            }
        }// PutValuesinPage
Пример #8
0
        public void Intersect_Unrestricted()
        {
            // Intersection with unrestricted == Copy
            // a. source (this) is unrestricted
            DirectoryServicesPermission dsp1 = new DirectoryServicesPermission(PermissionState.Unrestricted);
            DirectoryServicesPermission dsp2 = new DirectoryServicesPermission(PermissionState.None);

            // 1. Unrestricted N None
            DirectoryServicesPermission result = (DirectoryServicesPermission)dsp1.Intersect(dsp2);

            Assert.IsFalse(result.IsUnrestricted(), "(Unrestricted N None).IsUnrestricted");
            Assert.AreEqual(0, result.PermissionEntries.Count, "(Unrestricted N None).Count");

            // 2. None N Unrestricted
            result = (DirectoryServicesPermission)dsp2.Intersect(dsp1);
            Assert.IsFalse(result.IsUnrestricted(), "(None N Unrestricted).IsUnrestricted");
            Assert.AreEqual(0, result.PermissionEntries.Count, "(None N Unrestricted).Count");

            // 3. Unrestricted N Unrestricted
            result = (DirectoryServicesPermission)dsp1.Intersect(dsp1);
            Assert.IsTrue(result.IsUnrestricted(), "(Unrestricted N Unrestricted).IsUnrestricted");
            Assert.AreEqual(0, result.PermissionEntries.Count, "(Unrestricted N Unrestricted).Count");

            // 4. Unrestricted N Entry
            dsp2.PermissionEntries.Add(new DirectoryServicesPermissionEntry(DirectoryServicesPermissionAccess.None, String.Empty));
            result = (DirectoryServicesPermission)dsp1.Intersect(dsp2);
            Assert.IsFalse(result.IsUnrestricted(), "(Unrestricted N Entry).IsUnrestricted");
            Assert.AreEqual(1, result.PermissionEntries.Count, "(Unrestricted N Entry).Count");

            // 5. Entry N Unrestricted
            result = (DirectoryServicesPermission)dsp2.Intersect(dsp1);
            Assert.IsFalse(result.IsUnrestricted(), "(Entry N Unrestricted).IsUnrestricted");
            Assert.AreEqual(1, result.PermissionEntries.Count, "(Entry N Unrestricted).Count");

            // 6. Unrestricted N Unrestricted
            dsp1.PermissionEntries.Add(new DirectoryServicesPermissionEntry(DirectoryServicesPermissionAccess.None, String.Empty));
            result = (DirectoryServicesPermission)dsp1.Intersect(dsp1);
            Assert.IsTrue(result.IsUnrestricted(), "(Unrestricted N Unrestricted).IsUnrestricted");
            Assert.AreEqual(1, result.PermissionEntries.Count, "(Unrestricted N Unrestricted).Count");
        }