Inheritance: PermissionSet
Beispiel #1
0
		// S1006/ImperativeSecurity
		public static void Work()
		{
			NamedPermissionSet permissions = new NamedPermissionSet("Custom");
			permissions.Demand();		
					
			SecureClass.RevertDocument();
		}
        public NamedPermissionSet Copy(string name)
        {
            NamedPermissionSet nps = new NamedPermissionSet(this);

            nps.Name = name;            // get the new name
            return(nps);
        }
Beispiel #3
0
        /*!*/
        private static PermissionSet CreatePermissionSet()
        {
            #if CLR2
            string name = "Internet";
            bool foundName = false;
            PermissionSet setIntersection = new PermissionSet(PermissionState.Unrestricted);

            // iterate over each policy level
            IEnumerator e = SecurityManager.PolicyHierarchy();
            while (e.MoveNext()) {
                PolicyLevel level = (PolicyLevel)e.Current;
                PermissionSet levelSet = level.GetNamedPermissionSet(name);
                if (levelSet != null) {
                    foundName = true;
                    setIntersection = setIntersection.Intersect(levelSet);
                }
            }

            if (setIntersection == null || !foundName) {
                setIntersection = new PermissionSet(PermissionState.None);
            } else {
                setIntersection = new NamedPermissionSet(name, setIntersection);
            }

            return setIntersection;
            #else
            // this functionality is not available on Mono (AddHostEvidence is undefined), use dynamic to resolve it at runtime
            dynamic e = new Evidence();
            e.AddHostEvidence(new Zone(SecurityZone.Internet));
            return SecurityManager.GetStandardSandbox((Evidence)e);
            #endif
        }
Beispiel #4
0
        //
        // Utility methods to construct the permission set objects from the well known XML and any permission
        // set extensions if necessary
        //

        private static NamedPermissionSet GetOrDeserializeExtendablePermissionSet(ref NamedPermissionSet permissionSet,
                                                                                  string permissionSetXml
#if FEATURE_CAS_POLICY
                                                                                  , string extensionXml
#endif // FEATURE_CAS_POLICY
                                                                                  )
        {
            Contract.Requires(!String.IsNullOrEmpty(permissionSetXml));
#if FEATURE_CAS_POLICY
            Contract.Requires(!String.IsNullOrEmpty(extensionXml));
#endif // FEATURE_CAS_POLICY

            if (permissionSet == null)
            {
#if FEATURE_CAS_POLICY
                SecurityElement    securityElement           = SecurityElement.FromString(permissionSetXml);
                NamedPermissionSet deserializedPermissionSet = new NamedPermissionSet(securityElement);

                PermissionSet extensions = GetPermissionSetExtensions(extensionXml);
                deserializedPermissionSet.InplaceUnion(extensions);

                permissionSet = deserializedPermissionSet;
#endif // FEATURE_CAS_POLICY
            }

            return(permissionSet.Copy() as NamedPermissionSet);
        }
Beispiel #5
0
        //
        // Utility methods to construct the permission set objects from the well known XML and any permission
        // set extensions if necessary
        //

        private static NamedPermissionSet GetOrDeserializeExtendablePermissionSet(
            ref NamedPermissionSet permissionSet,
            string permissionSetXml)
        {
            Contract.Requires(!String.IsNullOrEmpty(permissionSetXml));
            return(permissionSet.Copy() as NamedPermissionSet);
        }
Beispiel #6
0
        public NamedPermissionSet Copy(String name)
        {
            NamedPermissionSet set = new NamedPermissionSet(this);

            set.Name = name;
            return(set);
        }
Beispiel #7
0
 private static NamedPermissionSet GetOrDeserializePermissionSet(ref NamedPermissionSet permissionSet, string permissionSetXml)
 {
     if (permissionSet == null)
     {
         NamedPermissionSet namedPermissionSet = new NamedPermissionSet(SecurityElement.FromString(permissionSetXml));
         permissionSet = namedPermissionSet;
     }
     return(permissionSet.Copy() as NamedPermissionSet);
 }
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }
            NamedPermissionSet namedPermissionSet = obj as NamedPermissionSet;

            return(namedPermissionSet != null && this.name == namedPermissionSet.Name && base.Equals(obj));
        }
Beispiel #9
0
 private static NamedPermissionSet GetOrDeserializeExtendablePermissionSet(ref NamedPermissionSet permissionSet, string permissionSetXml, string extensionXml)
 {
     if (permissionSet == null)
     {
         NamedPermissionSet namedPermissionSet      = new NamedPermissionSet(SecurityElement.FromString(permissionSetXml));
         PermissionSet      permissionSetExtensions = BuiltInPermissionSets.GetPermissionSetExtensions(extensionXml);
         namedPermissionSet.InplaceUnion(permissionSetExtensions);
         permissionSet = namedPermissionSet;
     }
     return(permissionSet.Copy() as NamedPermissionSet);
 }
		public void Description () 
		{
			NamedPermissionSet nps = new NamedPermissionSet (name);
			// null by default (not empty)
			AssertNull ("Description", nps.Description);
			// is null-able (without exception)
			nps.Description = null;
			AssertNull ("Description(null)", nps.Description);
			nps.Description = sentinel;
			AssertEquals ("Description", sentinel, nps.Description);
		}
Beispiel #11
0
		public void ConstructorNameReserved ()
		{
			NamedPermissionSet nps = new NamedPermissionSet ("FullTrust");
			Assert.AreEqual ("FullTrust", nps.Name, "Name");
			Assert.IsNull (nps.Description, "Description");
			Assert.IsTrue (nps.IsUnrestricted (), "IsUnrestricted");
			Assert.IsTrue (!nps.IsEmpty (), "IsEmpty");
			Assert.IsTrue (!nps.IsReadOnly, "IsReadOnly");
			Assert.IsTrue (!nps.IsSynchronized, "IsSynchronized");
			Assert.AreEqual (0, nps.Count, "Count");
		}
 protected internal override System.Security.PermissionSet CreatePermissionSet() {
     System.Security.PermissionSet permissionSet;
     if (ContainsKey(KEY.SaveFile)) {
         permissionSet = new NamedPermissionSet("FullTrust");
     }
     else {
         permissionSet = new System.Security.PermissionSet(System.Security.Permissions.PermissionState.None);
         permissionSet.AddPermission(new OdbcPermission(this));
     }
     return permissionSet;
 }
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }
            NamedPermissionSet nps = (obj as NamedPermissionSet);

            if (nps == null)
            {
                return(false);
            }
            // description isn't part of the comparaison
            return((name == nps.Name) && base.Equals(obj));
        }
Beispiel #14
0
        private static NamedPermissionSet GetOrDeserializePermissionSet(ref NamedPermissionSet permissionSet,
                                                                        string permissionSetXml)
        {
            Contract.Assert(!String.IsNullOrEmpty(permissionSetXml));

#if FEATURE_CAS_POLICY
            if (permissionSet == null)
            {
                SecurityElement    securityElement           = SecurityElement.FromString(permissionSetXml);
                NamedPermissionSet deserializedPermissionSet = new NamedPermissionSet(securityElement);

                permissionSet = deserializedPermissionSet;
            }
#endif // FEATURE_CAS_POLICY

            return(permissionSet.Copy() as NamedPermissionSet);
        }
        public void ShouldWorkEvenWithLowestPossiblePermissions()
        {
            // based on: https://msdn.microsoft.com/en-us/library/bb384237(v=vs.110).aspx
            Evidence evidence = new Evidence();
            evidence.AddHostEvidence(new Zone(SecurityZone.Internet));
            PermissionSet permissionSet = new NamedPermissionSet("Internet", SecurityManager.GetStandardSandbox(evidence));
            permissionSet.SetPermission(new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess));
            AppDomainSetup appDomainSetup = new AppDomainSetup
            {
                ApplicationBase = "."
            };

            AppDomain sandbox = AppDomain.CreateDomain("Sandbox", evidence, appDomainSetup, permissionSet, null);
            CrossDomain crossDomain = (CrossDomain)sandbox.CreateInstanceAndUnwrap(typeof(CrossDomain).Assembly.FullName, typeof(CrossDomain).FullName);

            Assert.AreEqual(3, crossDomain.RunArrayProvider());
        }
Beispiel #16
0
        private static PermissionSet GetPermissionSetExtensions(string extensionXml)
        {
            Contract.Requires(!String.IsNullOrEmpty(extensionXml));

            SecurityElement se = SecurityElement.FromString(extensionXml);

            // Return the permission set extension only if WPF is in the present framework profile.
            // XMLUtil.GetClassFromElement() helps do the quickest check, with no exception thrown and
            // minimal parsing.
            SecurityElement firstPermission = (SecurityElement)se.Children[0];

            if (System.Security.Util.XMLUtil.GetClassFromElement(firstPermission, /*ignoreTypeLoadFailures*/ true) != null)
            {
                PermissionSet extensions = new NamedPermissionSet(se);
                return(extensions);
            }

            return(null);
        }
        public static void Access()
        {
            // This security check fails if the caller
             // does not have full trust.
             NamedPermissionSet pset= new NamedPermissionSet("FullTrust");

             // This try-catch block shows the caller's permissions.
             // Correct code would either not catch the exception,
             // or would rethrow it.
             try
             {
            pset.Demand();
             }
             catch (SecurityException e)
             {
            Console.WriteLine("Demand for full trust:{0}", e.Message);
             }
             // Call the type that requires full trust.
             // Violates rule AptcaMethodsShouldOnlyCallAptcaMethods.
             ClassRequiringFullTrust.DoWork();
        }
Beispiel #18
0
		public void FromXml_Null () 
		{
			NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
			nps.FromXml (null);
		}
Beispiel #19
0
		public void Copy_Name_Empty ()
		{
			NamedPermissionSet nps = new NamedPermissionSet (name);
			NamedPermissionSet copy = (NamedPermissionSet)nps.Copy (String.Empty);
		}
Beispiel #20
0
 private static NamedPermissionSet GetOrDeserializePermissionSet(ref NamedPermissionSet permissionSet,
                                                                 string permissionSetXml)
 {
     Debug.Assert(!String.IsNullOrEmpty(permissionSetXml));
     return(permissionSet.Copy() as NamedPermissionSet);
 }
Beispiel #21
0
		public void ConstructorNameEmpty () 
		{
			NamedPermissionSet nps = new NamedPermissionSet ("");
		}
Beispiel #22
0
		public void GetHashCode_ () 
		{
			NamedPermissionSet psn = new NamedPermissionSet (name, PermissionState.None);
			int nhc = psn.GetHashCode ();
			NamedPermissionSet psu = new NamedPermissionSet (name, PermissionState.Unrestricted);
			int uhc = psu.GetHashCode ();
			Assert.IsTrue (nhc != uhc, "GetHashCode-1");
			psn.Description = sentinel;
			Assert.IsTrue (psn.GetHashCode () == nhc, "GetHashCode-2");
			psu.Description = sentinel;
			Assert.IsTrue (psu.GetHashCode () == uhc, "GetHashCode-3");
		}
Beispiel #23
0
		public void ToXml_Unrestricted () 
		{
			NamedPermissionSet ps = new NamedPermissionSet (name, PermissionState.Unrestricted);
			SecurityElement se = ps.ToXml ();
			Assert.IsTrue (ps.ToString().StartsWith ("<PermissionSet"), "Unrestricted.ToString().StartsWith");
			Assert.AreEqual ("System.Security.NamedPermissionSet", (se.Attributes ["class"] as string), "Unrestricted.class");
			Assert.AreEqual ("1", (se.Attributes ["version"] as string), "Unrestricted.version");
			Assert.AreEqual (name, (se.Attributes ["Name"] as string), "Unrestricted.Name");
			Assert.IsNull ((se.Attributes ["Description"] as string), "Unrestricted.Description");
			Assert.AreEqual ("true", (se.Attributes ["Unrestricted"] as string), "Unrestricted.Unrestricted");
		}
Beispiel #24
0
		public void FromXml_NoName ()
		{
			NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
			SecurityElement se = nps.ToXml ();

			SecurityElement w = new SecurityElement (se.Tag);
			w.AddAttribute ("class", se.Attribute ("class"));
			w.AddAttribute ("version", "1");
			nps.FromXml (w);

			// having a null name can badly influence the rest of the class code
			Assert.IsNull (nps.Name, "Name");
			NamedPermissionSet copy = (NamedPermissionSet) nps.Copy ();
			Assert.IsNull (copy.Name, "Copy.Name");

			copy = nps.Copy ("name");
			Assert.AreEqual ("name", copy.Name, "Copy(Name).Name");

			se = nps.ToXml ();
			Assert.IsNull (se.Attribute ("Name"), "Name attribute");
#if NET_2_0
			Assert.AreEqual (0, nps.GetHashCode (), "GetHashCode");
			Assert.IsTrue (nps.Equals (nps), "Equals-self");
#endif
		}
Beispiel #25
0
		// [ExpectedException (typeof (ArgumentException))]
		public void FromXml_WrongVersion () 
		{
			NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
			SecurityElement se = nps.ToXml ();
			// can't modify - so we create our own
			SecurityElement se2 = new SecurityElement (se.Tag, se.Text);
			se2.AddAttribute ("class", se.Attribute ("class"));
			se2.AddAttribute ("version", "2");
			se2.AddAttribute ("Name", se.Attribute ("Name"));
			nps.FromXml (se2);
			// wow - here we accept a version 2 !!!
		}
Beispiel #26
0
		public void FromXml_WrongClass ()
		{
			NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
			SecurityElement se = nps.ToXml ();

			SecurityElement w = new SecurityElement (se.Tag);
			w.AddAttribute ("class", "Wrong" + se.Attribute ("class"));
			w.AddAttribute ("version", se.Attribute ("version"));
			w.AddAttribute ("Name", se.Attribute ("Name"));
			nps.FromXml (w);
			// doesn't care of the class name at that stage
			// anyway the class has already be created so...
		}
Beispiel #27
0
		public void FromXml_InvalidPermission () 
		{
			NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
			SecurityElement se = nps.ToXml ();
			// can't modify - so we create our own
			SecurityElement se2 = new SecurityElement ("InvalidPermissionSet", se.Text);
			se2.AddAttribute ("class", se.Attribute ("class"));
			se2.AddAttribute ("version", se.Attribute ("version"));
			se2.AddAttribute ("Name", se.Attribute ("Name"));
			nps.FromXml (se2);
		}
Beispiel #28
0
 public NamedPermissionSet(NamedPermissionSet permSet)
     : base(permSet)
 {
     this.name        = permSet.name;
     this.description = permSet.description;
 }
Beispiel #29
0
 public NamedPermissionSet(NamedPermissionSet permSet) : base(default(PermissionState))
 {
 }
 public NamedPermissionSet(NamedPermissionSet permSet)
     : base(permSet)
 {
     name        = permSet.name; // name can be null here
     description = permSet.description;
 }
 /// <summary>从另一个命名的权限集初始化 <see cref="T:System.Security.NamedPermissionSet" /> 类的新实例。</summary>
 /// <param name="permSet">从中创建新实例的命名的权限集。</param>
 public NamedPermissionSet(NamedPermissionSet permSet)
     : base((PermissionSet)permSet)
 {
     this.m_name        = permSet.m_name;
     this.m_description = permSet.Description;
 }
Beispiel #32
0
		public void FromXml_WrongTagCase ()
		{
			NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
			SecurityElement se = nps.ToXml ();
			se.Tag = se.Tag.ToUpper (); // instead of PermissionSet
			nps.FromXml (se);
		}
Beispiel #33
0
		public void ConstructorNamedPermissionSetNull ()
		{
			NamedPermissionSet nullps = null;
			NamedPermissionSet nps = new NamedPermissionSet (nullps);
		}
Beispiel #34
0
		public void FromXml_NoClass ()
		{
			NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
			SecurityElement se = nps.ToXml ();

			SecurityElement w = new SecurityElement (se.Tag);
			w.AddAttribute ("version", se.Attribute ("version"));
			nps.FromXml (w);
			// doesn't even care of the class attribute presence
		}
Beispiel #35
0
 public NamedPermissionSet(NamedPermissionSet permSet)
     : base(permSet)
 {
     m_name        = permSet.m_name;
     m_description = permSet.Description;
 }
Beispiel #36
0
		public void FromXml_NoVersion ()
		{
			NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
			SecurityElement se = nps.ToXml ();

			SecurityElement w = new SecurityElement (se.Tag);
			w.AddAttribute ("class", se.Attribute ("class"));
			w.AddAttribute ("Name", se.Attribute ("Name"));
			nps.FromXml (w);
		}
Beispiel #37
0
        private static PermissionSet/*!*/ CreatePermissionSetByName() {
            string name = "Internet";
            bool foundName = false;
            PermissionSet setIntersection = new PermissionSet(PermissionState.Unrestricted);

            // iterate over each policy level
            IEnumerator e = SecurityManager.PolicyHierarchy();
            while (e.MoveNext()) {
                PolicyLevel level = (PolicyLevel)e.Current;
                PermissionSet levelSet = level.GetNamedPermissionSet(name);
                if (levelSet != null) {
                    foundName = true;
                    setIntersection = setIntersection.Intersect(levelSet);
                }
            }

            if (setIntersection == null || !foundName) {
                setIntersection = new PermissionSet(PermissionState.None);
            } else {
                setIntersection = new NamedPermissionSet(name, setIntersection);
            }

            return setIntersection;
        }       
Beispiel #38
0
		public void FromXml () 
		{
			NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None);
			SecurityElement se = nps.ToXml ();
			Assert.IsNotNull (se, "ToXml()");

			NamedPermissionSet nps2 = (NamedPermissionSet) nps.Copy ();
			nps2.FromXml (se);
			Assert.AreEqual (name, nps2.Name, "FromXml-Copy.Name");
			// strangely it's empty when converted from XML (but null when created)
			Assert.AreEqual ("", nps2.Description, "FromXml-Copy.Description");
			Assert.IsTrue (!nps2.IsUnrestricted () , "FromXml-Copy.IsUnrestricted");

			se.AddAttribute ("Description", sentinel);
			nps2.FromXml (se);
			Assert.AreEqual (name, nps2.Name, "FromXml-Add1.Name");
			Assert.AreEqual (sentinel, nps2.Description, "FromXml-Add1.Description");
			Assert.IsTrue (!nps2.IsUnrestricted () , "FromXml-Add1.IsUnrestricted");

			se.AddAttribute ("Unrestricted", "true");
			nps2.FromXml (se);
			Assert.AreEqual (name, nps2.Name, "FromXml-Add2.Name");
			Assert.AreEqual (sentinel, nps2.Description, "FromXml-Add2.Description");
			Assert.IsTrue (nps2.IsUnrestricted () , "FromXml-Add2.IsUnrestricted");
		}
Beispiel #39
0
 /// <summary>Initializes a new instance of the <see cref="T:System.Security.NamedPermissionSet" /> class from another named permission set.</summary><param name="permSet">The named permission set from which to create the new instance. </param>
 public NamedPermissionSet(NamedPermissionSet permSet)
     : base(null)
 {
     throw new NotImplementedException();
 }
Beispiel #40
0
		public void Equals () 
		{
			NamedPermissionSet psn = new NamedPermissionSet (name, PermissionState.None);
			NamedPermissionSet psu = new NamedPermissionSet (name, PermissionState.Unrestricted);
			Assert.IsTrue (!psn.Equals (psu), "psn!=psu");
			Assert.IsTrue (!psu.Equals (psn), "psu!=psn");
			NamedPermissionSet cpsn = (NamedPermissionSet) psn.Copy ();
			Assert.IsTrue (cpsn.Equals (psn), "cpsn==psn");
			Assert.IsTrue (psn.Equals (cpsn), "psn==cpsn");
			NamedPermissionSet cpsu = (NamedPermissionSet) psu.Copy ();
			Assert.IsTrue (cpsu.Equals (psu), "cpsu==psu");
			Assert.IsTrue (psu.Equals (cpsu), "psu==cpsu");
			cpsn.Description = sentinel;
			Assert.IsTrue (cpsn.Equals (psn), "cpsn+desc==psn");
			Assert.IsTrue (psn.Equals (cpsn), "psn==cpsn+desc");
			cpsn.Description = sentinel;
			Assert.IsTrue (cpsu.Equals (psu), "cpsu+desc==psu");
			Assert.IsTrue (psu.Equals (cpsu), "psu==cpsu+desc");
		}
Beispiel #41
0
		public void Name () 
		{
			NamedPermissionSet nps = new NamedPermissionSet (name);
			nps.Name = sentinel;
			Assert.AreEqual (sentinel, nps.Name, "Name");
		}
Beispiel #42
0
		public void ConstructorNameNull () 
		{
			string s = null; // we don't want to confuse the compiler
			NamedPermissionSet nps = new NamedPermissionSet (s);
		}
Beispiel #43
0
		public void Copy_Name ()
		{
			NamedPermissionSet nps = new NamedPermissionSet (name);
			nps.Description = sentinel;
			nps.AddPermission (new SecurityPermission (SecurityPermissionFlag.Assertion));
			NamedPermissionSet copy = (NamedPermissionSet)nps.Copy ("Copy");
			Assert.AreEqual ("Copy", copy.Name, "Name");
			Assert.AreEqual (nps.Description, copy.Description, "Description");
			Assert.AreEqual (nps.Count, copy.Count, "Count");
		}
 /// <summary>Initializes a new, empty instance of the <see cref="T:System.Security.NamedPermissionSet" /> class with the specified name.</summary>
 /// <param name="name">The name for the new named permission set. </param>
 /// <exception cref="T:System.ArgumentException">The <paramref name="name" /> parameter is <see langword="null" /> or is an empty string (""). </exception>
 // Token: 0x06001CA9 RID: 7337 RVA: 0x000621D5 File Offset: 0x000603D5
 public NamedPermissionSet(string name)
 {
     NamedPermissionSet.CheckName(name);
     this.m_name = name;
 }
Beispiel #45
0
		public void Copy_Name_Null ()
		{
			NamedPermissionSet nps = new NamedPermissionSet (name);
			NamedPermissionSet copy = (NamedPermissionSet)nps.Copy (null);
		}
 /// <summary>Initializes a new instance of the <see cref="T:System.Security.NamedPermissionSet" /> class with the specified name in either an unrestricted or a fully restricted state.</summary>
 /// <param name="name">The name for the new named permission set. </param>
 /// <param name="state">One of the <see cref="T:System.Security.Permissions.PermissionState" /> values. </param>
 /// <exception cref="T:System.ArgumentException">The <paramref name="name" /> parameter is <see langword="null" /> or is an empty string (""). </exception>
 // Token: 0x06001CAA RID: 7338 RVA: 0x000621EA File Offset: 0x000603EA
 public NamedPermissionSet(string name, PermissionState state) : base(state)
 {
     NamedPermissionSet.CheckName(name);
     this.m_name = name;
 }
 /// <summary>Initializes a new instance of the <see cref="T:System.Security.NamedPermissionSet" /> class with the specified name from a permission set.</summary>
 /// <param name="name">The name for the named permission set. </param>
 /// <param name="permSet">The permission set from which to take the value of the new named permission set. </param>
 /// <exception cref="T:System.ArgumentException">The <paramref name="name" /> parameter is <see langword="null" /> or is an empty string (""). </exception>
 // Token: 0x06001CAB RID: 7339 RVA: 0x00062200 File Offset: 0x00060400
 public NamedPermissionSet(string name, PermissionSet permSet) : base(permSet)
 {
     NamedPermissionSet.CheckName(name);
     this.m_name = name;
 }
		public void PermissionSetNamedPermissionSet ()
		{
			NamedPermissionSet nps = new NamedPermissionSet ("Test", PermissionState.Unrestricted);
			PermissionSet ps = new PermissionSet (nps);
			Assert.IsTrue (ps.IsUnrestricted (), "IsUnrestricted");
			Assert.IsTrue (!ps.ContainsNonCodeAccessPermissions (), "ContainsNonCodeAccessPermissions");
		}
Beispiel #49
0
		public void NameEmpty () 
		{
			NamedPermissionSet nps = new NamedPermissionSet (name);
			nps.Name = "";
		}
Beispiel #50
0
		// -ap namedxmlfile
		// -addpset namedxmlfile
		// -ap xmlfile name
		// -addpset xmlfile name
		static bool AddPermissionSet (string [] args, ref int i)
		{
			// two syntax - so we first load the XML file and
			// if it's not a named XML file, then we use the next 
			// parameter as it's name
			string xmlfile = args [++i];
			PermissionSet ps = LoadPermissions (xmlfile);
			if ((ps == null) || !Confirm ())
				return false;

			NamedPermissionSet nps = null;
			if (ps is NamedPermissionSet) {
				nps = (NamedPermissionSet)ps;
			} else {
				nps = new NamedPermissionSet (args [++i], ps);
			}

			foreach (PolicyLevel pl in Levels) {
				pl.AddNamedPermissionSet (nps);
				SecurityManager.SavePolicyLevel (pl);
			}
			return true;
		}
Beispiel #51
0
 // Summary:
 //     Initializes a new instance of the System.Security.NamedPermissionSet class
 //     from another named permission set.
 //
 // Parameters:
 //   permSet:
 //     The named permission set from which to create the new instance.
 extern public NamedPermissionSet(NamedPermissionSet permSet);