// // 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); }
// // 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); }
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); }
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); }
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 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 }
public void Copy_Name_Empty () { NamedPermissionSet nps = new NamedPermissionSet (name); NamedPermissionSet copy = (NamedPermissionSet)nps.Copy (String.Empty); }
public void Copy_Name_Null () { NamedPermissionSet nps = new NamedPermissionSet (name); NamedPermissionSet copy = (NamedPermissionSet)nps.Copy (null); }
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"); }
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; }
// // 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; }
private static NamedPermissionSet GetOrDeserializePermissionSet(ref NamedPermissionSet permissionSet, string permissionSetXml) { Debug.Assert(!String.IsNullOrEmpty(permissionSetXml)); return permissionSet.Copy() as NamedPermissionSet; }
public void AddNamedPermissionSet(NamedPermissionSet permSet) { if (permSet == null) { throw new ArgumentNullException("permSet"); } this.CheckLoaded(); this.LoadAllPermissionSets(); lock (this) { IEnumerator enumerator = this.m_namedPermissionSets.GetEnumerator(); while (enumerator.MoveNext()) { if (((NamedPermissionSet) enumerator.Current).Name.Equals(permSet.Name)) { throw new ArgumentException(Environment.GetResourceString("Argument_DuplicateName")); } } NamedPermissionSet set = (NamedPermissionSet) permSet.Copy(); set.IgnoreTypeLoadFailures = true; this.m_namedPermissionSets.Add(set); } }
private static NamedPermissionSet GetOrDeserializePermissionSet(ref NamedPermissionSet permissionSet, string permissionSetXml) { Debug.Assert(!String.IsNullOrEmpty(permissionSetXml)); return(permissionSet.Copy() as NamedPermissionSet); }
public void Copy () { NamedPermissionSet nps = new NamedPermissionSet (name); nps.Description = sentinel; nps.AddPermission (new SecurityPermission (SecurityPermissionFlag.Assertion)); NamedPermissionSet copy = (NamedPermissionSet)nps.Copy (); AssertEquals ("Name", nps.Name, copy.Name); AssertEquals ("Description", nps.Description, copy.Description); AssertEquals ("Count", nps.Count, copy.Count); }
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"); }
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"); }
// // 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; }