.NET框架4.0版的安全功能的两项重要变化

原创|其它|编辑:郝浩|2010-03-18 10:16:33.000|阅读 818 次

概述:.NET框架4.0版的安全功能有两项重要的变化。机器范围的安全政策已经取消了,不过,批准系统仍然存在,安全透明度已经成为默认的强制执行机制。此外,一些可能出现安全漏洞的批准操作已经取消了。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

  .NET框架4.0版的安全功能有两项重要的变化。机器范围的安全政策已经取消了,不过,批准系统仍然存在,安全透明度已经成为默认的强制执行机制。此外,一些可能出现安全漏洞的批准操作已经取消了。

  你应该知道如下要点:

  ·透明度把作为应用程序的一部分运行的代码与作为基础设施的一部分运行的代码隔离开。这个功能是在.NET框架2.0版中推出的并且一直在增强功能以便成为这个代码访问安全强制执行机制。与安全政策不同,2层透明度规则是在运行时间强制执行的,而不是在装载程序集的时候执行的。这些规则一直是有效的,即使对于那些作为默认的完全信任的程序运行的程序集也是如此。然而,2层透明度不影响没有注释的完全信任的代码,如桌面应用程序。使用SecurityTransparentAttribute(安全透明度熟悉)标记的和使用SecurityCriticalAttribute(安全重要属性)标记调用方式的程序集(包括桌面程序集)收到了一个MethodAccessException(访问方式异常)提示。你可以改变这种行为,方法是使用这个SecurityRulesAttribute和设置SecurityRulesAttribute..::.RuleSet属性为1层;然而,你只能为向下兼容做这个事情。你必须明确地把一个桌面应用程序标记为安全透明的以便对它应用透明度限制。

  ·调用安全政策API(应用程序编程接口)的代码除了在运行时受到编译警告之外还会收到一个NotSupportedException(不支持异常)。通过使用 配置要素可以重新启用政策。当启用政策的时候,安全透明度仍然是有效的。安全政策适用于程序集装载的时候,对于透明度没有影响。透明度是运行时间强制执行的。

  ·过时的请求批准(RequestMinimum最低请求、RequestOptional选择请求和RequestRefuse拒绝请求)收到编辑警告并且在.NET Framework 4中不工作。但是,他们不会引起要被抛弃的异常情况。拒绝请求引起一个“NotSupportedException”在运行时被抛弃。

  ·LinkDemand安全行动是不过时的。但是,它不应该用于验证批准。相反,使用SecurityCriticalAttribute(安全重要属性)用于要求完全信任的类型和方式或者使用这种需求方式用于需要单个批准的类型和方式。

  ·如果你的应用程序是使用Visual Studio 2010制作的,你可以通过指定一个目标不做任何修改就可以运行这个应用程序。.NET Framework版本比Visual Studio项目设置中的.NET Framework 4要早一些。然而,你将不能使用新的.NET Framework 4类型和成员。你可以通过使用在你的应用程序配置文件中的启动设置方案中的要素指定一个早期版本到.NET Framework。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:网络转载

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP