INFO:Internet Explorer 如何确定 .NET Framework 程序集的权限

文章翻译 文章翻译
文章编号: 311301 - 查看本文应用于的产品
本文的发布号曾为 CHS311301
展开全部 | 关闭全部

概要

基于 Web 的应用程序可以使用 Microsoft Internet Explorer 5.5 及更高版本来下载和运行 Microsoft .NET Framework 程序集。本文介绍 Internet Explorer 如何确定已授予程序集的权限。

更多信息

从 Intranet 部署的 .NET Framework 程序集通常被授予默认的 Intranet 权限集。此权限集仅允许代码执行非常有限的一组功能。这些功能包括:
  • 文件对话框(只读)
  • 隔离的存储器
  • 执行所需的安全权限
  • 创建安全的顶级窗口及使用剪贴板的 UI 权限
托管控件在 Internet Explorer 中可能不会运行,除非打开 ActiveX 控件和脚本。

.NET Framework Service Pack 1(对于收到此更改的那些本地化版本为 V1)将设置新的默认安全策略,按照此策略不能从 Internet 区域下载托管代码。

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
317399 INFO:.NET Framework 在默认的计算机级别安全策略中发生更改
公共语言运行库 (CLR) 设计为支持多种不同的 .NET Framework 应用程序。当前,每种应用程序类型都需要有一段代码才能启动。此代码称为 CLR 宿主。宿主的职责是将正确版本的 CLR 加载到进程中,定义进程内的应用程序域并在这些域内运行用户代码。

除支持 Internet Explorer 外,CLR 还支持几种不同的运行库宿主,以便为每种类型的应用程序都提供独立的环境。所有的 CLR 宿主在启动时都必须具有非托管的 stub。基于这个目的,.NET Framework 提供了一组非托管的应用程序编程接口 (API)。这些应用程序宿主可以使用这些非托管的 API 来运行 CLR。

.NET Framework 中包括的两个组件可以处理 Internet Explorer 中的 .NET Framework 组件。第一个组件 Mscoree.dll 包含多用途网际邮件扩充协议 (MIME) 类型筛选器。此筛选器挂接到 Internet Explorer 中并监视随 MIME 类型应用程序/八位字节流传入的所有数据流。此启动填补程序的主要作用是检查传入的流以查看该流是否是托管代码。如果筛选器确定传入的数据不是托管代码,则它允许 Internet Explorer 按照以前的方式处理该数据。

如果 MIME 类型筛选器确定流是 .NET Framework 模块,则它会加载第二个组件。第二个组件是名为 IEHost 的托管程序集。IEHost 调用 CorBindToRuntimeByCfg API 将 CLR 加载到进程中。IEHost 还会调用 IEManager,这是一个在进程内创建应用程序域的安全管理器。在宿主创建并配置应用程序域后,它调用其工厂对象以创建请求的 .NET Framework 对象的实例,以及在此应用程序域内加载并运行用户代码。

默认情况下,Internet Explorer 宿主按网站定义应用程序。将网站的根目录视为应用程序的根目录。宿主对代码在指定的应用程序域中运行时收到的权限的控制程度较高。在公共语言运行库中运行的所有代码都必须是程序集的一部分。面向 CLR 的每个应用程序都必须与运行库的安全系统进行交互。当应用程序运行时,运行库自动评估应用程序。运行库还授予应用程序一组权限。这些权限基于应用程序提供的证据并且基于安全策略。IEHost 证据的常见形式包括 StrongName、URL、网站、区域和发布者。

CLR 仅允许代码执行它具有权限的那些操作。.NET Framework 包含用户计算机上每个可供使用的资源的权限对象。这些资源包括文件 I/O、网络访问、非托管代码执行,等等。运行库使用这些权限对象对托管代码强制限制。

为了将权限授予 .NET Framework 代码,管理员或超级用户会将权限分组到权限集中。然后,将权限集应用到代码组。如果特定的程序集(用于授予安全权限的基本代码单元)满足代码组的成员条件,则它是该代码组的成员。

若要查看授予 .NET 程序集的默认权限,请使用 .NET Framework 配置工具 (Mscorcfg.msc)。您还可以使用此工具查看和配置安全策略。管理员可以定义具有自定义名称的权限集,只要它们的名称与内置的已命名权限集的名称不同即可。

参考

Microsoft .NET Framework 1.0 Addendum

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/framewrkaddend.asp

Internet Explorer 安全性和托管执行

http://msdn.microsoft.com/library/en-us/cpguide/html/cpconinternetexplorersecuritymanagedexecution.asp

应用程序域宿主

http://msdn.microsoft.com/library/en-us/cpguide/html/cpconapplicationdomainhosts.asp

默认安全策略

http://msdn.microsoft.com/library/en-us/cpguide/html/cpcondefaultsecuritypolicy.asp

代码组

http://msdn.microsoft.com/library/en-us/cpguide/html/cpconcodegroups.asp

证据

http://msdn.microsoft.com/library/en-us/cpguide/html/cpconevidence.asp

创建自己的代码访问权限

http://msdn.microsoft.com/library/en-us/cpguide/html/cpconcreatingyourowncodeaccesspermissions.asp

Microsoft .NET:为托管的应用程序实现自定义公共语言运行库宿主

http://msdn.microsoft.com/library/default.asp?url=/msdnmag/issues/01/03/clr/TOC.asp

在 Microsoft Internet Explorer 中承载安全、轻量、客户端控件

http://msdn.microsoft.com/msdnmag/issues/02/01/UserCtrl/default.aspx

属性

文章编号: 311301 - 最后修改: 2006年6月22日 - 修订: 5.1
这篇文章中的信息适用于:
  • Microsoft .NET Framework Software Development Kit 1.0 Service Pack 2
  • Microsoft Internet Explorer (Programming) 6.0
  • Microsoft Internet Explorer 5.5
关键字:?
kbinfo kbsecurity KB311301
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com