public void IsSubsetOf_DifferentPermissions()
        {
            ZoneIdentityPermission a = new ZoneIdentityPermission(SecurityZone.Trusted);
            SecurityPermission     b = new SecurityPermission(PermissionState.None);

            a.IsSubsetOf(b);
        }
コード例 #2
0
    // <Snippet2>
    // IsSubsetOf determines whether the current permission is a subset of the specified permission.
    private static void IsSubsetOfDemo()
    {
        //<Snippet8>
        ZoneIdentityPermission zoneIdPerm1 = new ZoneIdentityPermission(SecurityZone.Intranet);
        //</Snippet8>
        ZoneIdentityPermission zoneIdPerm2 = new ZoneIdentityPermission(SecurityZone.MyComputer);

        if (zoneIdPerm1.IsSubsetOf(zoneIdPerm2))
        {
            Console.WriteLine(zoneIdPerm1.SecurityZone.ToString() + " is a subset of " +
                              zoneIdPerm2.SecurityZone.ToString());
        }
        else
        {
            Console.WriteLine(zoneIdPerm1.SecurityZone.ToString() + " is not a subset of " +
                              zoneIdPerm2.SecurityZone.ToString());
        }
        if (zoneIdPerm2.IsSubsetOf(zoneIdPerm1))
        {
            Console.WriteLine(zoneIdPerm2.SecurityZone.ToString() + " is a subset of " +
                              zoneIdPerm1.SecurityZone.ToString());
        }
        else
        {
            Console.WriteLine(zoneIdPerm2.SecurityZone.ToString() + " is not a subset of " +
                              zoneIdPerm1.SecurityZone.ToString());
        }
    }
        private ZoneIdentityPermission BasicTestZone(SecurityZone zone, bool special)
        {
            ZoneIdentityPermission zip = new ZoneIdentityPermission(zone);

            Assert.AreEqual(zone, zip.SecurityZone, "SecurityZone");

            ZoneIdentityPermission copy = (ZoneIdentityPermission)zip.Copy();

            Assert.IsTrue(Same(zip, copy), "Equals-Copy");
            Assert.IsTrue(zip.IsSubsetOf(copy), "IsSubset-1");
            Assert.IsTrue(copy.IsSubsetOf(zip), "IsSubset-2");
            if (special)
            {
                Assert.IsFalse(zip.IsSubsetOf(null), "IsSubset-Null");
            }

            IPermission intersect = zip.Intersect(copy);

            if (special)
            {
                Assert.IsTrue(intersect.IsSubsetOf(zip), "IsSubset-3");
                Assert.IsFalse(Object.ReferenceEquals(zip, intersect), "!ReferenceEquals1");
                Assert.IsTrue(intersect.IsSubsetOf(copy), "IsSubset-4");
                Assert.IsFalse(Object.ReferenceEquals(copy, intersect), "!ReferenceEquals2");
            }

            Assert.IsNull(zip.Intersect(null), "Intersect with null");

            intersect = zip.Intersect(new ZoneIdentityPermission(PermissionState.None));
            Assert.IsNull(intersect, "Intersect with PS.None");

            // note: can't be tested with PermissionState.Unrestricted

            // XML roundtrip
            SecurityElement se = zip.ToXml();

            copy.FromXml(se);
            Assert.IsTrue(Same(zip, copy), "Equals-Xml");

            return(zip);
        }
コード例 #4
0
        public static void ZoneIdentityPermissionCallMethods()
        {
            ZoneIdentityPermission zip  = new ZoneIdentityPermission(new PermissionState());
            ZoneIdentityPermission zip2 = new ZoneIdentityPermission(new SecurityZone());
            IPermission            ip   = zip.Copy();
            IPermission            ip2  = zip.Intersect(ip);
            bool            testbool    = zip.IsSubsetOf(ip);
            SecurityElement se          = new SecurityElement("");

            zip.FromXml(se);
            se = zip.ToXml();
        }
        public void SecurityZone_NoZone()
        {
            ZoneIdentityPermission zip = BasicTestZone(SecurityZone.NoZone, false);

            Assert.IsNull(zip.ToXml().Attribute("Zone"), "Zone Attribute");
            Assert.IsTrue(zip.IsSubsetOf(null), "IsSubset-Null");
            IPermission intersect = zip.Intersect(zip);

            Assert.IsNull(intersect, "Intersect with No Zone");
            // NoZone is special as it is a subset of all zones
            ZoneIdentityPermission ss = new ZoneIdentityPermission(SecurityZone.Internet);

            Assert.IsTrue(zip.IsSubsetOf(ss), "IsSubset-Internet");
            ss.SecurityZone = SecurityZone.Intranet;
            Assert.IsTrue(zip.IsSubsetOf(ss), "IsSubset-Intranet");
            ss.SecurityZone = SecurityZone.MyComputer;
            Assert.IsTrue(zip.IsSubsetOf(ss), "IsSubset-MyComputer");
            ss.SecurityZone = SecurityZone.NoZone;
            Assert.IsTrue(zip.IsSubsetOf(ss), "IsSubset-NoZone");
            ss.SecurityZone = SecurityZone.Trusted;
            Assert.IsTrue(zip.IsSubsetOf(ss), "IsSubset-Trusted");
            ss.SecurityZone = SecurityZone.Untrusted;
            Assert.IsTrue(zip.IsSubsetOf(ss), "IsSubset-Untrusted");
        }
コード例 #6
0
ファイル: PermissionTests.cs プロジェクト: Corillian/corefx
 public static void ZoneIdentityPermissionCallMethods()
 {
     ZoneIdentityPermission zip = new ZoneIdentityPermission(new PermissionState());
     ZoneIdentityPermission zip2 = new ZoneIdentityPermission(new SecurityZone());
     IPermission ip = zip.Copy();
     IPermission ip2 = zip.Intersect(ip);
     bool testbool = zip.IsSubsetOf(ip);
     SecurityElement se = new SecurityElement("");
     zip.FromXml(se);
     se = zip.ToXml();
 }