如何:使用 XML 文件导入代码组

应用程序可能要求向安全策略中添加应用程序特定的代码组。 应用程序可能随附了实现新代码组的程序集和包含新代码组序列化的 XML 文件。 可以使用 Caspol.exe(代码访问安全策略工具)将该 XML 文件导入安全策略。 XML 文件可能还包含有关与代码组关联的成员资格条件和权限集的信息。 通常,应用程序满足指定的成员条件并需要关联的权限集。

下面的示例显示代码组及其关联的成员条件和权限集的信息可能在 XML 文件中出现的方式。

示例

<CodeGroup class="System.Security.Policy.UnionCodeGroup, mscorlib,
           Version=1.0.2411.0, Culture=neutral,
           PublicKeyToken=b77a5c561934e089" version="1"
           Name="myCodeGroup"
           Description="test code group">
   <IMembershipCondition class="MyCustomMembershipCondition, myAssembly,
       Version=1.0.0.0, Culture=neutral,
       PublicKeyToken=b77a5c561934e089" version="1"
       Url="https://www.microsoft.com/"/>
 
   <PermissionSet class="NamedPermissionSet" version="1"
       Name="MyPermissionSet"
       Description="Permission set containing my custom permission">
          <IPermission class="myCustomNamespace.CustomPermission,
             customPerm, Version=0.0.0.0, Culture=neutral,
             PublicKeyToken=64a85a7d791b1a32"  version="1"
             Unrestricted="True"/>
   </PermissionSet>
</CodeGroup>

<CodeGroup> 元素包含新代码组的信息。 <CodeGroup> 元素需要 class 特性和 version 特性。 class 特性指向实现新代码组的类和程序集。 class 特性值的格式可以是指定完全限定的类型名称中论述的任何一种格式,但通常的格式是本示例中显示的格式。 对于此版本的 .NET Framework,version 特性为“1”。 Name 特性和 Description 特性可以是任何有效的字符串,且可以编辑。 Name 特性是权限集在 .NET Framework 配置工具中出现的名称。

<IMembershipCondition> 元素包含特性或子元素,用以指定程序集为成为代码组的成员并接收其关联的权限而必须满足的条件。 <IMembershipCondition>class 特性与 <CodeGroup>class 特性具有相同的格式。

如果 <CodeGroup> 元素包含 <IMembershipCondition> 元素和 <PermissionSet> 元素,则在导入代码组后,成员资格条件和权限集将自动与该代码组建立关联。 如果缺少这两种元素中的任何一个,必须使用 Caspol.exe(代码访问安全策略工具)将缺少的项与新代码组关联。 有关详细信息,请参见如何:使用 Caspol.exe 查看代码组

请参见

其他资源

安全策略管理

使用 XML 文件导入安全组件