ASP.NET Lab

The Best Web, The Best Future

博客园 首页 新随笔 订阅 管理

依赖于应用程序的授权方式,被管理的应用程序在需要比当前策略所允许的更多许可来运行的时候就会抛出一个异常,并且也会出现执行失败,或者不能够正常工作。你可以使用 Permissions View 工具(Permview.exe)来查看最小的必需许可,可选的必需许可以及通过汇编集通过比较汇编集所请求并且实际接收到的许可之后的被拒绝许可。注意这个工具只会显示已经通过使用声明语法的应用程序而明确被请求到的许可。通过这个信息,你就可以增加新的许可,这些许可是由汇编集通过创建新的自定义代码分组并且把它关联到包含应用程序需要正常运行时所需要的所有许可的新自定义许可集而接收到的。但是,你应该只在信任或者根据适当的可靠证据来信任应用程序的来源的情况下才增加许可。(在多数情况下,管理员都会拥有一些可以用来对若干需要类似许可的应用程序进行分类的自定义代码分组。)

假设你有一个经常被来自于网络共享中的若干用户而被访问的应用程序。在未管理的环境中,这种情况通常不会造成应用程序的执行问题。但是,在被管理的环境中,这个应用程序就可能被准予了一些有限的许可集,这是因为它来自于本地局域网区域。例如,应用程序可能没有得到完整的打印许可,从而限制了这个应用程序的可用性。这样做要胜于损失整个本地局域网区域的设置,你应该按照下列步骤进行操作:

  1. 使用 Permission View 工具(Permview.exe)来查看你想要增加许可的汇编集的最小必需许可。这些都是应用程序的运行所必需的最低限度的许可。
  2. 识别唯一的汇编集特性。这个特性可以包括汇编集的强名称、它的发布键值、它的混列值,或者一个唯一的自定义特性。如果应用程序来自于被信任的服务器,那么这个位置同样可以用来对应用程序进行识别。记住,你需要信任拥有这个特性的所有代码。
  3. 创建一个需要唯一的成员资格标识符的新的代码分组。可以使用 .NET Framework Configuration 工具(Mscorcfg.msc)或者 Code Access Security Policy 工具(Caspol.exe)来创建这个代码分组。
  4. 使用 Code Access Security Policy 工具创建一个包括了应用程序的运行所需要的最低限度许可的新的许可集。
  5. 通过使用 .NET Framework Configuration 工具或者 Code Access Security Policy 工具把新的许可集关联到新的代码分组。

在你完成这些步骤之后,应用程序就会启动并且接收到足够的许可来运行。另外,信任度较少的应用程序就不会接收到额外的许可;这有助于保护你的系统避开恶意代码。关于使用安全工具完成特殊任务的信息,参考:[安全策略配置]。

posted on 2007-05-02 12:44  Laeb  阅读(486)  评论(0编辑  收藏  举报