如何:使用 Caspol.exe 查看代码组和权限集
更新:2007 年 11 月
有时,非有意的安全设置应用于一个程序集,因为它错误地属于或不属于某一代码组。当代码组被添加到策略级别或从策略级别删除代码组时可能发生此类副作用。为了更容易地在策略级别的代码组层次结构中发现此类问题,可以使用代码访问安全策略工具 (Caspol.exe) 列出程序集所属的全部代码组。
将在每个策略级别为程序集授予一组权限。安全策略向代码授予的有效权限集是由计算机策略和用户策略授予的权限集的交集确定的。您可以使用 Caspol.exe 查看由特定策略级别向一个程序集授予的权限集。您还可以使用 Caspol.exe 查看由计算机策略和用户策略授予的权限集的交集导致的权限集。
列出一个程序集所属于的代码组
在命令提示处键入以下命令:
caspol [-enterprise|-machine|-user|-all] –resolvegroup assembly-file
在 –resolvegroup 选项前面指定策略级别选项。如果省略了该策略级别选项,则 Caspol.exe 显示所有策略级别。
以下命令列出 MyAssembly.dll 所属于的处于用户策略级别的代码组。
caspol –user –resolvegroup MyAssembly.dll
列出程序集的权限集
在命令提示处键入以下命令:
caspol [-enterprise|-machine|-user|-all] –resolveperm assembly-file
在 –resolveperm 选项前面指定策略级别选项。如果省略了该策略级别选项,则 Caspol.exe 显示所有策略级别的交集。
以下命令请求在用户策略级别应用于 MyApplication.exe 的权限列表。
caspol –user –resolveperm MyApplication.exe