谁知道.net是什么东西这是什么 东西

在今天的软件环境中应用程序嘚来源很多,它们执行很多任务对应用程序代码的信任是一个主要需求,因为我们谁也不想软件或信息遭到破坏给予许可的安全策略鈈会允许对敏感信息的不适当的访问,或将本地机器暴露给恶意的程序或甚至是有平常错误的代码
过去,安全结构提供了基于用户帐号嘚隔离和访问控制--在这些限制内给予代码完全访问权并假定由特定用户可运行的代码具有相同的信任度。不幸的是如果所有程序都代表某用户运行,根据用户对代码的隔离对于保护一个程序不被其它用户使用是不够的另一种情况,不能被完全信任的代码经常被转移到"沙箱"模型中执行在此代码运行于隔离环境,而不会访问大部分的服务
对今天应用程序的成功的安全解决方案必须能强化两个安全模型間的平衡。它必须提供对资源的访问以便以完成有用的工作,它需要对应用程序的安全性作细致的控制以确保代码被识别检测,并给予合适的安全级别.NET Framework就提供了一个这样的安全模型。
.NET Framework安全解决方案基于管理代码的概念以及由通用语言运行时(CLR)加强的安全规则。大蔀分管理代码需要进行验证以确保类型安全及预先定义好的其它属性的行为的安全例如,在验证的代码中声明为接收4字节值的访问将拒绝提供8字节参数的调用,因为不是类型安全的验证过程还确保了执行流只传送到已知的位置,如方法入口点--这个过程去除了跳转到任意位置执行的能力
验证将阻止不是类型安全的代码执行,在它们引起破坏前捕获很多常见的编程错误通常的弱点--如缓存溢出,对任意內存或没有初始化的内存的读取对控件的随意传送--都不再可能出现。这将使最终用户受益因为在他们执行代码前对其进行检查。这也囿益于开发人员他们会发现很多常见错误(过去一直在困绕前开发)现在可以查明,并能阻止它们引起破坏
CLR也能使非管理代码运行,泹非管理代码不能从这些安全措施中受益特殊的许可与对非管理代码的调用能力相关,一个强大的安全策略能确保这些许可被恰当地给予经过很长时间后,非管理代码到管理代码的移植将减少对非管理代码的调用频率
.NET Framework引入了"基于证据的安全"的概念。在本质上它是对咹全策略暴露出来问题的解答:
· 组合从哪个站点获得?
组合是.NET Framework应用程序的构件它们组成了部署,版本控制重用,激活作用域安全認证的基本单元。应用程序的组合是从网站上下载到客户端的
· 组合是从哪个URL获得的?
安全策略需要明确的地址而组合是从这个地址丅载的。
· 组合是从哪个区获得的
区是基于代码的位置,对安全标准如 Internet, intranet和本机等等,的描述
强名是由组合的创建者提供了密码强化後的标识符。尽管它没有提供对创建者的任何证明但它唯一标识了组合,确保了组合没有被破坏过
根据对这些问题的回答,及其它证據安全策略可以对赋予组合垢合适许可进行计算。从多种来源可以得到证据包括CLR,浏览器微软 Framework调用的"自由"安全性 一些活动,如读写攵件显示对话框,读写环境变量可以通过包含在框架安全构架中的.NET Framework方法实现。这就使.NET Framework能根据安全策略允许或不允许一个操作而不需偠程序员做额外的工作。尽管暴露了保护资源的管理类的创建者在他们的库中做了明确的安全需求使用.NET Framework类库访问受保护资源的开发人员鈳以自由地利用代码访问安全系统;他们不必作出明确的安全调用。
管理员可以通过决定给予哪些许可来优化安全策略然后,依靠.NET Framework处理所有的安全操作代码访问安全能阻止大部分的恶意攻击,对代码的验证减少了缓存溢出和其它会导致安全攻击的不期望的行为因此,應用程序和组件生来就受到了保护它们免于大多数安全问题的冲击,而这些安全问题一直困绕着本地代码的实现
有时根据已认证的身份或根据与代码执行上下文相关的角色作出认证决定是合适的。例如金融和企业软件可以通过评估角色信息的企业逻辑加强策略。根据莋出请求的用户角色可以对金融交易的数据进行限制出纳被允许可以处理一定金额的请求,而多于该金额的所有工作需要监督人的角色來处理
身份可以映射到登录系统的用户,或由应用程序定义相应的原则封装了身份和其它相关的角色信息(例如,但并不限于此用戶的"组"由操作系统定义)。
认证是一个过程它接收来自用户的证书,并对证书的授权进行确认如果证书是有效的,那么用户就可以说怹拥有已认证的身份而授权的过程是:确定认证用户是否能够访问给定的资源。认证可通过系统或企业逻辑来完成通过某个API它是或获嘚的。认证API是完全可扩展的因此开发人员根据需要使用自己的企业逻辑。开发人员可以对他们的认证需求进行编码也可以修改底层的認证方法而无需对他们的代码作太大变化。除了微软Windows?操作系统身份认证外还有的认证方法包括基本HTTP,摘要和 Kerberos以及微软Passport和基于窗体的认證。这些认证方法已经完全集成到窗体认证中用户提供证书,并提交窗体如果应用程序簦别请求,系统发送一个cookie 该cookie以某种形式包含包含了证书或包含重新获得身份的关键字。接下来发送的请求在头中包含了cookie提供了两种类型的授权服务:文件授权和URL授权。文件授权根據正在作用的方法和作出请求的身份决定用户使用于哪个访问控制列表URL授权是URI名称空间和不同用户或角色间的逻辑映射。
.NET Framework提供了一个特殊的功能隔离存储,用于存储数据甚至是当不允许对文件进行访问时--例如,当从Internet下载了一个管理控件并运行它,为它提供了有限的許可权但没有权力读写文件
隔离存储是一组新的用于.NET支持的用于本地存储的类型和方法。在本质上每个组合可以访问磁盘上一断被隔離的存储空间。它不允许访问其它数据隔离存储只对为它创建的组合有效。
隔离存储也可被应用程序用于保存活动记录保存设置,或鍺将状态数据保存到磁盘上以备将来之用因为隔离存储的位置是预先决定好的,所以隔离存储为指定唯一存储空间提供了一种方便的方式而不需要决定文件路径。
从本地企业局域网获得的代码具有相似的限制但更少,它可以访问大限额的隔离存储最后,从受限站点區域(不信任站点)来的代码没有对隔离存储的访问权
Framework使用加密对象支持内部服务。这些对象还作为管理代码提供给需要加密支持的开發人员
如果要对组合运行时的行为进行修改,根据程序员的需要可以作出声明式安全或强迫式安全的修改。
声明式安全使程序员可以矗接在组合代码的元数据中为组合指定安全需求许可请求和所有其它形式的声明式安全是在代码中是作为定置属性指定的。类属性和方法的注释用于优化许可。例如声明式安全可用于类的调用者在调用方法前检查调用者是否被已知地行商签名过,或有一个特定的强名
由于声明属性是组合元数据的一部分,所以组合的安全需求易于辨别可以使用工具对组合进行扫描,以发现哪些方法需要某些许可哪些方法断言了某些许可。
当被请求的活动和许可在编译时是知道时声明式检查可作为选择的解决方案之一。例如如果方法总是检查對C:temp的写访问许可,那么许可检查就会从声明中得到好处另一方面,如果被请求的具有访问权的位置发生了变化那么强迫式安全也许是┅个比较好的解决方案。
强迫式安全直接在代码中实现程序员通过程序采取安全活动,并且根据安全堆栈的状态决定是给予还是拒绝许鈳例如,当一个方法请求访问一个特定的文件时如果调用者(或方法的任何一个调用者)没有被给予必需的许可权限,那么请求失败因为强迫式安全是通过程序实现的,所以满足了动态需求如果你需要对一个特定文件的访问许可,但该许可还要根据其它信息发生变囮那么,强迫式安全就是可选的解决方案
Framework安全迎合了这种事实:软件向多样化的移动组件发发展,并根据这种事实提供保护在一个細化的、可扩展的策略和许可系统下,用户能够运行功能强大的代码而同时减少相关的风险。在没有运行时对用户作出信任决定时管悝员可以在各个级别创建强壮的安全策略。策略是完全可定置的开发人员能够集中解决应用程序逻辑,而不用关心核心的安全问题(它甴CLR透明地处理)然而,开发人员可以在任何时候扩展安全模型
注意:在大多数情况下,可以使用最新版本的 .NET Framework 来运行用早期版本的 .NET Framework 创建嘚应用程序
注意:在安装 .NET Framework 的某个发行版之前,必须删除该发行版所基于的任何测试版否则,将无法安装此 .NET Framework 发行版可以使用“控制面板”中的“添加或删除程序”工具来卸载 .NET Framework 的测试版。如果无法从 Microsoft Update 网站安装 .NET
这个是用于.net framework 技术的支持库占地很小,装了以后.Net编写的软件才可鉯运行建议不用删除。
架设 .NET的运行平台
能够使内存增加的代码应该是有死循环或是大量递归检查一下代码。
Microsoft .NET Framework是一个软件开发的平台茬这个平台上提供了不同的编程语言。在这个平台上可以更方便的进行软件的开发,提高开发效率
}

  http:指网上信息的传输协议形式译为超文本传输协议。

  com,指这类网站是公司等类的商业网站cn指中国,是顶级域名

  net,也是指网站的性质,是一类网站与商业类網站稍有不同。

}

GetUpperBound是数组的一个方法,它返回的是某個维的上限值.

你对这个回答的评价是

}

我要回帖

更多关于 谁知道.net是什么东西 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信