public void Intersect_DifferentPermissions() { ZoneIdentityPermission a = new ZoneIdentityPermission(SecurityZone.Trusted); SecurityPermission b = new SecurityPermission(PermissionState.None); a.Intersect(b); }
// </Snippet2> // <Snippet3> // Union creates a new permission that is the union of the current permission // and the specified permission. private static void UnionDemo() { ZoneIdentityPermission zoneIdPerm1 = new ZoneIdentityPermission(SecurityZone.Intranet); ZoneIdentityPermission zoneIdPerm2 = new ZoneIdentityPermission(SecurityZone.MyComputer); ZoneIdentityPermission p3 = (ZoneIdentityPermission)zoneIdPerm1.Union(zoneIdPerm2); try { if (p3 != null) { Console.WriteLine("The union of " + zoneIdPerm1.SecurityZone.ToString() + " and \n\t" + zoneIdPerm2.SecurityZone.ToString() + " is \n\t" + p3.SecurityZone.ToString() + "\n"); } else { Console.WriteLine("The union of " + zoneIdPerm1.SecurityZone.ToString() + " and \n\t" + zoneIdPerm2.SecurityZone.ToString() + " is null.\n"); } } catch (SystemException e) { Console.WriteLine("The union of " + zoneIdPerm1.SecurityZone.ToString() + " and \n\t" + zoneIdPerm2.SecurityZone.ToString() + " failed."); Console.WriteLine(e.Message); } }
public void Union() { ZoneIdentityPermission a = new ZoneIdentityPermission(SecurityZone.Trusted); ZoneIdentityPermission z = (ZoneIdentityPermission)a.Union(null); Assert.IsTrue(Same(a, z), "Trusted+null"); Assert.IsFalse(Object.ReferenceEquals(a, z), "!ReferenceEquals1"); z = (ZoneIdentityPermission)a.Union(new ZoneIdentityPermission(PermissionState.None)); Assert.IsTrue(Same(a, z), "Trusted+PS.None"); Assert.IsFalse(Object.ReferenceEquals(a, z), "!ReferenceEquals2"); // note: can't be tested with PermissionState.Unrestricted ZoneIdentityPermission n = new ZoneIdentityPermission(SecurityZone.NoZone); z = (ZoneIdentityPermission)a.Union(n); Assert.IsTrue(Same(a, z), "Trusted+NoZone"); Assert.IsFalse(Object.ReferenceEquals(a, z), "!ReferenceEquals3"); z = (ZoneIdentityPermission)n.Union(a); Assert.IsTrue(Same(a, z), "NoZone+Trusted"); Assert.IsFalse(Object.ReferenceEquals(a, z), "!ReferenceEquals4"); }
public void IsSubsetOf_DifferentPermissions() { ZoneIdentityPermission a = new ZoneIdentityPermission(SecurityZone.Trusted); SecurityPermission b = new SecurityPermission(PermissionState.None); a.IsSubsetOf(b); }
// <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()); } }
public void Union_DifferentPermissions() { ZoneIdentityPermission a = new ZoneIdentityPermission(SecurityZone.Trusted); SecurityPermission b = new SecurityPermission(PermissionState.None); a.Union(b); }
public void FromXml_WrongTagCase() { ZoneIdentityPermission zip = new ZoneIdentityPermission(PermissionState.None); SecurityElement se = zip.ToXml(); se.Tag = "IPERMISSION"; // instead of IPermission zip.FromXml(se); }
private bool Same(ZoneIdentityPermission zip1, ZoneIdentityPermission zip2) { #if NET_2_0 return(zip1.Equals(zip2)); #else return(zip1.SecurityZone == zip2.SecurityZone); #endif }
public Object[] call_method_asm(Int32 asem_type, Int32 sec_unrestricted, String assem, String atype, String method, Object[] vparams, IntPtr [] oparams) { Object [] ret = new Object[2]; #if !MONO try { #endif Type type = get_type(asem_type, assem, atype); vparams = change_ptr(vparams, oparams); /* Get the methods from the type */ MethodInfo[] methods = type.GetMethods(); if (methods == null) { throw new Exception("No methods Found in " + type.FullName); } StringBuilder failureExcuses = new StringBuilder(); try { foreach (MethodInfo m in methods) { if (m.Name == method && CheckArgs(m, vparams)) { #if !MONO if (sec_unrestricted == 0) { ZoneIdentityPermission zip = new ZoneIdentityPermission(SecurityZone.NoZone); zip.PermitOnly(); } #endif return(res_to_ptr(m.Invoke(null, vparams))); } } } catch (TargetInvocationException e) { throw e.InnerException; } throw new Exception("No method " + method + " called"); #if !MONO } catch (Exception e) { ret[0] = 0; ret[1] = e.Message; return(ret); } #endif }
public void IsGranted_ZoneIdentityPermission() { ZoneIdentityPermission zip = new ZoneIdentityPermission(SecurityZone.Internet); #if NET_2_0 Assert.IsTrue(SecurityManager.IsGranted(zip)); #else Assert.IsFalse(SecurityManager.IsGranted(zip)); #endif }
public void FromXml_NoVersion() { ZoneIdentityPermission zip = new ZoneIdentityPermission(PermissionState.None); SecurityElement se = zip.ToXml(); SecurityElement w = new SecurityElement(se.Tag); w.AddAttribute("class", se.Attribute("class")); zip.FromXml(w); }
public void FromXml_NoClass() { ZoneIdentityPermission zip = new ZoneIdentityPermission(PermissionState.None); SecurityElement se = zip.ToXml(); SecurityElement w = new SecurityElement(se.Tag); w.AddAttribute("version", se.Attribute("version")); zip.FromXml(w); // doesn't even care of the class attribute presence }
public void PermissionStateUnrestricted() { // In 2.0 Unrestricted are permitted for identity permissions ZoneIdentityPermission zip = new ZoneIdentityPermission(PermissionState.Unrestricted); Assert.AreEqual(SecurityZone.NoZone, zip.SecurityZone); SecurityElement se = zip.ToXml(); Assert.AreEqual(5, se.Children.Count, "Count"); // and they aren't equals to None Assert.IsFalse(zip.Equals(new ZoneIdentityPermission(PermissionState.None))); }
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 Default() { ZoneIdentityPermissionAttribute a = new ZoneIdentityPermissionAttribute(SecurityAction.Assert); Assert.AreEqual(a.ToString(), a.TypeId.ToString(), "TypeId"); Assert.IsFalse(a.Unrestricted, "Unrestricted"); Assert.AreEqual(SecurityZone.NoZone, a.Zone, "Zone"); ZoneIdentityPermission perm = (ZoneIdentityPermission)a.CreatePermission(); Assert.AreEqual(SecurityZone.NoZone, perm.SecurityZone, "CreatePermission-SecurityZone"); }
//</Snippet4> //<Snippet5> //Copy creates and returns an identical copy of the current permission. private static void CopyDemo() { ZoneIdentityPermission zoneIdPerm1 = new ZoneIdentityPermission(SecurityZone.Intranet); //<Snippet7> ZoneIdentityPermission zoneIdPerm2 = new ZoneIdentityPermission(PermissionState.None); //</Snippet7> zoneIdPerm2 = (ZoneIdentityPermission)zoneIdPerm1.Copy(); if (zoneIdPerm2 != null) { Console.WriteLine("The copy succeeded: " + zoneIdPerm2.ToString() + " \n"); } }
public void FromXml_WrongClass() { ZoneIdentityPermission zip = new ZoneIdentityPermission(PermissionState.None); SecurityElement se = zip.ToXml(); SecurityElement w = new SecurityElement(se.Tag); w.AddAttribute("class", "Wrong" + se.Attribute("class")); w.AddAttribute("version", se.Attribute("version")); zip.FromXml(w); // doesn't care of the class name at that stage // anyway the class has already be created so... }
public void CheckAptcaIsPresentInExceptionHandlingWCF() { try { ZoneIdentityPermission zone = new ZoneIdentityPermission(PermissionState.None); zone.Deny(); Type type = typeof(ExceptionShieldingElement); object objectCreated = Activator.CreateInstance(type); } finally { ZoneIdentityPermission.RevertDeny(); } }
public void AptcaIsPresentInLoggingDatabase() { try { ZoneIdentityPermission zoneIdentityPermission = new ZoneIdentityPermission(PermissionState.None); zoneIdentityPermission.Deny(); Type type = typeof(FormattedDatabaseTraceListenerData); object createdObject = Activator.CreateInstance(type); } finally { ZoneIdentityPermission.RevertDeny(); } }
public void CheckAptcaIsPresentInExceptionHandlingWCFConfigurationDesign() { try { ZoneIdentityPermission zone = new ZoneIdentityPermission(PermissionState.None); zone.Deny(); Type type = typeof(FaultContractPropertyMapping); object objectCreated = Activator.CreateInstance(type); } finally { ZoneIdentityPermission.RevertDeny(); } }
public void AptcaIsPresentInExceptionHandling() { try { ZoneIdentityPermission zoneIdentityPermission = new ZoneIdentityPermission(PermissionState.None); zoneIdentityPermission.Deny(); Type type = typeof(ExceptionPolicyCustomFactory); object createdObject = Activator.CreateInstance(type); } finally { ZoneIdentityPermission.RevertDeny(); } }
public void CheckAptcaIsPresentInDataSqlCe() { try { ZoneIdentityPermission zoneIdentityPermission = new ZoneIdentityPermission(PermissionState.None); zoneIdentityPermission.Deny(); Type type = typeof(SqlCeDatabase); object createdObject = Activator.CreateInstance(type, "connectionString"); } finally { ZoneIdentityPermission.RevertDeny(); } }
public void AptcaIsPresentInLoggingConfigurationDesign() { try { ZoneIdentityPermission zoneIdentityPermission = new ZoneIdentityPermission(PermissionState.None); zoneIdentityPermission.Deny(); Type type = typeof(LoggingSettingsNode); object createdObject = Activator.CreateInstance(type); } finally { ZoneIdentityPermission.RevertDeny(); } }
public void AptcaIsPresentInData() { try { ZoneIdentityPermission zoneIdentityPermission = new ZoneIdentityPermission(PermissionState.None); zoneIdentityPermission.Deny(); DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.SqlClient"); Type type = typeof(GenericDatabase); object createdObject = Activator.CreateInstance(type, "connectionString", factory); } finally { ZoneIdentityPermission.RevertDeny(); } }
public void AptcaIsPresentInValidationIntegrationWinForms() { try { ZoneIdentityPermission zoneIdentityPermission = new ZoneIdentityPermission(PermissionState.None); zoneIdentityPermission.Deny(); Type type = typeof(ValidationProvider); object createdObject = Activator.CreateInstance(type); } finally { ZoneIdentityPermission.RevertDeny(); } }
public void AptcaIsPresentInCachingDatabase() { try { ZoneIdentityPermission zoneIdentityPermission = new ZoneIdentityPermission(PermissionState.None); zoneIdentityPermission.Deny(); Type type = typeof(DataCacheStorageData); object createdObject = Activator.CreateInstance(type); } finally { ZoneIdentityPermission.RevertDeny(); } }
internal static void GetZoneAndOriginHelper(PermissionSet grantSet, PermissionSet deniedSet, ArrayList zoneList, ArrayList originList) { ZoneIdentityPermission zone = (ZoneIdentityPermission)grantSet.GetPermission(typeof(ZoneIdentityPermission)); UrlIdentityPermission url = (UrlIdentityPermission)grantSet.GetPermission(typeof(UrlIdentityPermission)); if (zone != null) { zoneList.Add(zone.SecurityZone); } if (url != null) { originList.Add(url.Url); } }
public void AptcaIsPresentInSecurityCryptography() { try { ZoneIdentityPermission zoneIdentityPermission = new ZoneIdentityPermission(PermissionState.None); zoneIdentityPermission.Deny(); Type type = typeof(CryptographySettings); object createdObject = Activator.CreateInstance(type); } finally { ZoneIdentityPermission.RevertDeny(); } }
public void AptcaIsPresentInCaching() { try { ZoneIdentityPermission zoneIdentityPermission = new ZoneIdentityPermission(PermissionState.None); zoneIdentityPermission.Deny(); Type type = typeof(PriorityDateComparer); object createdObject = Activator.CreateInstance(type, new Hashtable()); } finally { ZoneIdentityPermission.RevertDeny(); } }
public void AptcaIsPresentInPolicyInjection() { try { ZoneIdentityPermission zoneIdentityPermission = new ZoneIdentityPermission(PermissionState.None); zoneIdentityPermission.Deny(); Type type = typeof(CustomMatchingRuleData); object createdObject = Activator.CreateInstance(type); } finally { ZoneIdentityPermission.RevertDeny(); } }
public Object[] call_ins (IntPtr instance, Int32 sec_unrestricted, String method, Object[] vparams, IntPtr [] oparams) { Object new_instance; Type instance_type; String assem_name; Object [] ret = new Object[2]; #if !MONO try { #endif new_instance = get_inst (instance); instance_type = new_instance.GetType(); assem_name = instance_type.Assembly.FullName.ToString(); int pos = assem_name.IndexOf (","); if (pos != -1) assem_name = assem_name.Substring (0, pos); vparams = change_ptr (vparams, oparams); MethodInfo[] methods = instance_type.GetMethods(); /* TODO Change to temp.GetMethod (strin, Binding Flags, NULL, Type[], NULL) */ try { foreach(MethodInfo m in methods) { if (m.Name != method) { continue; } else { if (CheckArgs(m, vparams)) { #if !MONO if (sec_unrestricted == 0) { ZoneIdentityPermission zip = new ZoneIdentityPermission(SecurityZone.NoZone); zip.PermitOnly(); } #endif /* -> Ready <- */ return res_to_ptr (m.Invoke(new_instance, vparams)); } else continue; } } } catch (TargetInvocationException e) { throw e.InnerException; } throw new Exception ("Method " + method + " not found in call_ins"); #if !MONO } catch (Exception e) { ret[0] = 0; ret[1] = e.Message; return ret; } #endif }
public Object[] call_method_asm (Int32 asem_type, Int32 sec_unrestricted, String assem, String atype, String method, Object[] vparams, IntPtr [] oparams) { Object [] ret = new Object[2]; #if !MONO try { #endif Type type = get_type (asem_type, assem, atype); vparams = change_ptr (vparams, oparams); /* Get the methods from the type */ MethodInfo[] methods = type.GetMethods(); if(methods == null) { throw new Exception ("No methods Found in " + type.FullName); } StringBuilder failureExcuses = new StringBuilder(); try { foreach(MethodInfo m in methods) { if (m.Name == method && CheckArgs (m, vparams)) { #if !MONO if (sec_unrestricted == 0) { ZoneIdentityPermission zip = new ZoneIdentityPermission(SecurityZone.NoZone); zip.PermitOnly(); } #endif return res_to_ptr (m.Invoke (null, vparams)); } } } catch (TargetInvocationException e) { throw e.InnerException; } throw new Exception ("No method " + method + " called"); #if !MONO } catch (Exception e) { ret[0] = 0; ret[1] = e.Message; return ret; } #endif }