六、.NET安全和框架配置工具
虽然IE浏览器答应配置一些.NET应用的安全选项,但不全面。
要访问.NET应用的全部安全选项,必须使用.NET Framework配置工具。这个工具是.NET框架的一部分,而不是VS.NET的一部分,这意味着,用户只要安装了.NET框架,他就有了相应的配置工具。启动.NET Framework配置工具的步骤是:打开Windows控制面板,选择“治理工具”,然后选择“Microsoft .NET Framework配置”。利用这个工具,我们可以配置.NET安全策略,确定答应信任哪些地址,以及对各个地址的信任程度。
全面介绍.NET安全策略以及配置安全策略的工具已经超出了本文的范围,但我们可以举出简单的例子,了解配置代码组和权限集的基本方法(请参见图7)。
图7:.NET框架配置工具
代码组列举了哪些代码是可以信任的,哪些代码必须禁止访问。一般地,我们可以将图7默认设置的代码组与IE浏览器安全设置对话框中的“区域”相对应。
权限集是一种把多个权限用单一名称组织起来的办法。例如,图8显示了默认授予“本地Intranet”权限集的权限清单。
图8:Intranet权限集
右击一个节点可以创建自定义的代码组或权限集。例如,只要按照下面的步骤授予http://127.0.0.1的URL全部信任权限,前面的例子就不会再显示任何安全错误信息:
⑴ 打开“代码组”分支,右击All_code,选择“新建”,如图9。
图9:创建自定义的代码组和权限集
⑵ 输入新建代码组的名称,例如“MyCodeGroupFor127”,点击“下一步”。
⑶ 如图10,在“选择此代码组的条件类型”中,选择“URL”,然后输入“http://127.0.0.1/*”作为可信任的URL,点击“下一步”。
图10:设置代码组的条件类型
⑷ 最后,如图11,选择权限集FullTrust(完全信任),点击“下一步”,再点击“完成”。
图11:将权限集指定给代码组
现在,假如我们再打开IE浏览器,用http://127.0.0.1/CodeDownloadDemo/Loader.exe这个URL启动loader.exe程序,程序运行时不会出现任何安全错误信息。即使我们从File菜单选择Employee Form,从数据库装入Employee的数据,同样不会出现错误信息。
在上面这个例子中,我们将FullTrust授予了一个URL,仅用于演示当然没有问题,但在正式的生产环境中,授权应当谨慎,只能将保证应用程序能够正常工作的最小权限授予指定的URL。