1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
|
<?xml version="1.0" encoding="utf-8"?>
<Type Name="UnionCodeGroup" FullName="System.Security.Policy.UnionCodeGroup">
<TypeSignature Maintainer="auto" Language="C#" Value="public sealed class UnionCodeGroup : System.Security.Policy.CodeGroup" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi serializable sealed beforefieldinit UnionCodeGroup extends System.Security.Policy.CodeGroup" />
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
<Base>
<BaseTypeName>System.Security.Policy.CodeGroup</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
</Attribute>
</Attributes>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Code groups are the building blocks of code access security policy. Each policy level consists of a root code group that can have child code groups (and so on), forming a tree. Each code group has a membership condition that determines if a given assembly belongs to it or not, based on the evidence for that assembly. Only code groups whose membership conditions match a given assembly and their child code groups apply policy.</para>
<para>
<see cref="T:System.Security.Policy.UnionCodeGroup" /> is the most common type of code group; the policy statement of all matching child code groups (and by extension their child code groups) are combined with the permission set of the matching parent code group. Thus, if its membership condition matches, this code group forms the union of its policy statement and those of all its child code groups that also match the evidence.</para>
<para>
<see cref="T:System.Security.Policy.UnionCodeGroup" /> code groups are the code groups created by the CASPOL utility (see <format type="text/html"><a href="D2BF6123-7B0C-4E60-87AD-A39A1C3EB2E0">[<topic://cpgrfcodeaccesssecuritypolicyutilitycaspolexe>]</a></format>).</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Represents a code group whose policy statement is the union of the current code group's policy statement and the policy statement of all its matching child code groups. This class cannot be inherited.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public UnionCodeGroup (System.Security.Policy.IMembershipCondition membershipCondition, System.Security.Policy.PolicyStatement policy);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Security.Policy.IMembershipCondition membershipCondition, class System.Security.Policy.PolicyStatement policy) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue />
<Parameters>
<Parameter Name="membershipCondition" Type="System.Security.Policy.IMembershipCondition" />
<Parameter Name="policy" Type="System.Security.Policy.PolicyStatement" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This constructor creates a basic code group and should be called from the constructors of custom code groups. You can add child code groups by using the <see cref="M:System.Security.Policy.CodeGroup.AddChild(System.Security.Policy.CodeGroup)" /> method.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.Security.Policy.UnionCodeGroup" /> class.</para>
</summary>
<param name="membershipCondition">
<attribution license="cc4" from="Microsoft" modified="false" />A membership condition that tests evidence to determine whether this code group applies policy. </param>
<param name="policy">
<attribution license="cc4" from="Microsoft" modified="false" />The policy statement for the code group in the form of a permission set and attributes to grant code that matches the membership condition. </param>
</Docs>
</Member>
<Member MemberName="Copy">
<MemberSignature Language="C#" Value="public override System.Security.Policy.CodeGroup Copy ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Security.Policy.CodeGroup Copy() cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Security.Policy.CodeGroup</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This method makes a deep copy of the code group, so that copies of all objects the code group contains are also made.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Makes a deep copy of the current code group.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An equivalent copy of the current code group, including its membership conditions and child code groups.</para>
</returns>
</Docs>
</Member>
<Member MemberName="MergeLogic">
<MemberSignature Language="C#" Value="public override string MergeLogic { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance string MergeLogic" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the merge logic.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Resolve">
<MemberSignature Language="C#" Value="public override System.Security.Policy.PolicyStatement Resolve (System.Security.Policy.Evidence evidence);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Security.Policy.PolicyStatement Resolve(class System.Security.Policy.Evidence evidence) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Security.Policy.PolicyStatement</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="evidence" Type="System.Security.Policy.Evidence" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Given evidence for an assembly to be loaded, this method evaluates the code group by first checking the membership condition against the specified evidence. If there is a match, this method returns a policy statement for the code group, including evaluation of child code groups.</para>
<para>For union code groups, all child code groups whose membership condition match the evidence are also resolved, and all resulting policy statements form a union with the policy statement of the parent union code group. Each child code group type determines how its child groups are applied, depending on how their respective <see cref="M:System.Security.Policy.UnionCodeGroup.Resolve(System.Security.Policy.Evidence)" /> methods work.</para>
<para>The .NET Framework security system uses <see cref="M:System.Security.Policy.UnionCodeGroup.Resolve(System.Security.Policy.Evidence)" /> on the policy levels to determine which permissions to grant to loaded code from the resulting policy statements and the code request on the assembly.</para>
<para>If the membership condition does not match the specified evidence, this method returns null; otherwise, it sets the permission set to be returned (P) equal to the code group's policy statement, and then continues. For each child code group, the method resolves the code group with the same evidence; if the result is not null, it sets P equal to the union of P and the child code group's policy statement. It then returns P, which is now the union of the current code group's policy statement and all child group policy statements.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Resolves policy for the code group and its descendants for a set of evidence.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A policy statement consisting of the permissions granted by the code group with optional attributes, or null if the code group does not apply (the membership condition does not match the specified evidence).</para>
</returns>
<param name="evidence">
<attribution license="cc4" from="Microsoft" modified="false" />The evidence for the assembly. </param>
</Docs>
</Member>
<Member MemberName="ResolveMatchingCodeGroups">
<MemberSignature Language="C#" Value="public override System.Security.Policy.CodeGroup ResolveMatchingCodeGroups (System.Security.Policy.Evidence evidence);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Security.Policy.CodeGroup ResolveMatchingCodeGroups(class System.Security.Policy.Evidence evidence) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Security.Policy.CodeGroup</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="evidence" Type="System.Security.Policy.Evidence" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Given evidence for an assembly to be loaded, this method evaluates the code group by first checking the membership condition against the specified evidence. If there is a match, this method returns a root code group. The code group that is returned may contain child code groups, which, in turn, may also contain child code groups, so the return value reflects the complete set of code groups that were matched by the evidence provided.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Resolves matching code groups.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The complete set of code groups that were matched by the evidence.</para>
</returns>
<param name="evidence">
<attribution license="cc4" from="Microsoft" modified="false" />The evidence for the assembly. </param>
</Docs>
</Member>
</Members>
</Type>
|