包含vb.netrsa的词条( 六 )


管理员可以通过决定给予哪些许可来优化安全策略,然后,依靠.NET Framework处理所有的安全操作 。代码访问安全能阻止大部分的恶意攻击,对代码的验证减少了缓存溢出和其它会导致安全攻击的不期望的行为 。因此,应用程序和组件生来就受到了保护,它们免于大多数安全问题的冲击,而这些安全问题一直困绕着本地代码的实现 。
基于角色的安全
有时根据已认证的身份或根据与代码执行上下文相关的角色作出认证决定是合适的 。例如,金融和企业软件可以通过评估角色信息的企业逻辑加强策略 。根据作出请求的用户角色可以对金融交易的数据进行限制 。出纳被允许可以处理一定金额的请求,而多于该金额的所有工作需要监督人的角色来处理 。
身份可以映射到登录系统的用户 , 或由应用程序定义 。相应的原则封装了身份和其它相关的角色信息(例如,但并不限于此,用户的"组"由操作系统定义) 。
认证和授权
认证是一个过程,它接收来自用户的证书,并对证书的授权进行确认 。如果证书是有效的,那么用户就可以说他拥有已认证的身份 。而授权的过程是:确定认证用户是否能够访问给定的资源 。认证可通过系统或企业逻辑来完成 , 通过某个API它是或获得的 。认证API是完全可扩展的,因此开发人员根据需要使用自己的企业逻辑 。开发人员可以对他们的认证需求进行编码 , 也可以修改底层的认证方法而无需对他们的代码作太大变化 。除了微软Windows?操作系统身份认证外,还有的认证方法包括基本HTTP,摘要和 Kerberos,以及微软Passport和基于窗体的认证 。这些认证方法已经完全集成到ASP.NET中了 。
在ASP.NET窗体认证中,用户提供证书 , 并提交窗体 。如果应用程序簦别请求,系统发送一个cookie ,该cookie以某种形式包含包含了证书或包含重新获得身份的关键字 。接下来发送的请求在头中包含了cookie,ASP.NET处理程序通过应用程序所期望的任何有效方法对这些请求认证和授权 。如果请求没有经过认证 , HTTP客户端将用于把请求发送到认证窗体,在那里用户可能提供信任证书 。窗体认证有时用于个性化--为已知用户的内容进行定置 。在一些情况下,身份是问题所在而不是认证,因此用户的个性化信息可以简单地通过访问用户或获得 。
授权的目的是确定作出请求的身份是否被给予了对给定资源的访问权 。ASP.NET提供了两种类型的授权服务:文件授权和URL授权 。文件授权根据正在作用的方法和作出请求的身份决定用户使用于哪个访问控制列表 。URL授权是URI名称空间和不同用户或角色间的逻辑映射 。
隔离存储
.NET Framework提供了一个特殊的功能,隔离存储,用于存储数据,甚至是当不允许对文件进行访问时--例如 , 当从Internet下载了一个管理控件,并运行它,为它提供了有限的许可权但没有权力读写文件 。
隔离存储是一组新的用于.NET支持的用于本地存储的类型和方法 。在本质上 , 每个组合可以访问磁盘上一断被隔离的存储空间 。它不允许访问其它数据,隔离存储只对为它创建的组合有效 。
隔离存储也可被应用程序用于保存活动记录,保存设置,或者将状态数据保存到磁盘上以备将来之用 。因为隔离存储的位置是预先决定好的,所以隔离存储为指定唯一存储空间提供了一种方便的方式,而不需要决定文件路径 。
从本地企业局域网获得的代码具有相似的限制,但更少,它可以访问大限额的隔离存储 。最后,从受限站点区域(不信任站点)来的代码没有对隔离存储的访问权 。

推荐阅读