System.Net.Mail.SmtpPermission.IsSubsetOf C# (CSharp) Method

IsSubsetOf() public method

public IsSubsetOf ( IPermission target ) : bool
target IPermission
return bool
        public override bool IsSubsetOf(IPermission target)
        {
            // Pattern suggested by security engine
            if (target == null)
            {
                return (_access == SmtpAccess.None);
            }

            SmtpPermission other = target as SmtpPermission;
            if (other == null)
            {
                throw new ArgumentException(SR.Format(SR.net_perm_target), nameof(target));
            }

            if (_unrestricted && !other.IsUnrestricted())
            {
                return false;
            }

            return (other._access >= _access);
        }

Usage Example

Esempio n. 1
0
		public void IsSubset_SmtpAccess ()
		{
			SmtpPermission spn = new SmtpPermission (false);
			SmtpPermission spu = new SmtpPermission (true);
			SmtpPermission spctup = new SmtpPermission (SmtpAccess.ConnectToUnrestrictedPort);
			SmtpPermission spconnect = new SmtpPermission (SmtpAccess.Connect);
			SmtpPermission spnone = new SmtpPermission (SmtpAccess.None);

			Assert.IsTrue (spn.IsSubsetOf (spctup), "None IsSubsetOf ConnectToUnrestrictedPort");
			Assert.IsTrue (spn.IsSubsetOf (spconnect), "None IsSubsetOf Connect");
			Assert.IsTrue (spn.IsSubsetOf (spnone), "None IsSubsetOf SmtpAccess.None");

			Assert.IsFalse (spu.IsSubsetOf (spctup), "Unrestricted IsSubsetOf ConnectToUnrestrictedPort");
			Assert.IsFalse (spu.IsSubsetOf (spconnect), "Unrestricted IsSubsetOf Connect");
			Assert.IsFalse (spu.IsSubsetOf (spnone), "Unrestricted IsSubsetOf SmtpAccess.None");

			Assert.IsTrue (spctup.IsSubsetOf (spctup), "ConnectToUnrestrictedPort IsSubsetOf ConnectToUnrestrictedPort");
			Assert.IsFalse (spctup.IsSubsetOf (spconnect), "ConnectToUnrestrictedPort IsSubsetOf Connect");
			Assert.IsFalse (spctup.IsSubsetOf (spnone), "ConnectToUnrestrictedPort IsSubsetOf SmtpAccess.None");
			Assert.IsFalse (spctup.IsSubsetOf (spn), "ConnectToUnrestrictedPort IsSubsetOf None");
			Assert.IsTrue (spctup.IsSubsetOf (spu), "ConnectToUnrestrictedPort IsSubsetOf Unrestricted");

			Assert.IsTrue (spconnect.IsSubsetOf (spctup), "Connect IsSubsetOf ConnectToUnrestrictedPort");
			Assert.IsTrue (spconnect.IsSubsetOf (spconnect), "Connect IsSubsetOf Connect");
			Assert.IsFalse (spconnect.IsSubsetOf (spnone), "Connect IsSubsetOf SmtpAccess.None");
			Assert.IsFalse (spconnect.IsSubsetOf (spn), "Connect IsSubsetOf None");
			Assert.IsTrue (spconnect.IsSubsetOf (spu), "Connect IsSubsetOf Unrestricted");

			Assert.IsTrue (spnone.IsSubsetOf (spctup), "SmtpAccess.None IsSubsetOf ConnectToUnrestrictedPort");
			Assert.IsTrue (spnone.IsSubsetOf (spconnect), "SmtpAccess.None IsSubsetOf Connect");
			Assert.IsTrue (spnone.IsSubsetOf (spnone), "SmtpAccess.None IsSubsetOf SmtpAccess.None");
			Assert.IsTrue (spnone.IsSubsetOf (spn), "SmtpAccess.None IsSubsetOf None");
			Assert.IsTrue (spnone.IsSubsetOf (spu), "SmtpAccess.None IsSubsetOf Unrestricted");
		}
All Usage Examples Of System.Net.Mail.SmtpPermission::IsSubsetOf