构建安全的.docVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
构建安全的 ASP.NET 应用程序 身份验证、授权和安全通信 第 3 章 — 身份验证和授权 J.D. Meier、Alex Mackman、Michael Dunner 和 Srinath Vasireddy Microsoft Corporation 2002 年 10 月 有关构建安全的 ASP.NET 应用程序 的起点和完整概述,请参见登陆页面。 总结 本章提供指导信息,帮助您为您的特定应用程序方案制定合适的授权策略。还将帮助您选择最合适的身份验证和授权技术,并在应用程序正确的地方进行应用。 内容 设计身份验证和授权策略 授权方式 传递身份 基于角色授权 选择身份验证机制 总结 为分布式 Web 应用程序设计身份验证和授权策略是一项具有挑战性的任务。令人欣慰的是,在应用程序开发的早期阶段,正确设计身份验证和授权将有助于降低许多安全方面的主要风险。 本章将帮助您为应用程序设计合适的授权策略,还将帮助您解答下列关键问题: ● 应该在什么情况下执行授权,使用什么机制? ● 应该使用什么身份验证机制? ● 应该用 Active Directory? 目录服务来进行身份验证,还是应该对照自定义数据存储来验证凭据? ● 使用异类和同类平台分别意味着什么?在设计上有哪些需要注意的地方? ● 在应用程序中应该如何表示不使用 Microsoft? Windows? 操作系统的用户? ● 在应用程序的各层之间应该如何传递用户身份?在什么情况下应该使用操作系统级模拟/委派? 当您考虑授权时,也必须考虑身份验证。两个过程是同时进行的,这有两方面的原因: ● 第一,任何有意义的授权策略都需要已验证身份的用户。 ● 第二,验证用户身份的方式(具体说,就是如何在应用程序中表示已经过验证的用户身份)将决定您可支配的关守。 某些关守(如,ASP.NET 文件授权、Enterprise Services (COM+) 角色和 Windows ACL)要求某一身份需经过 Windows 以 WindowsIdentity 对象形式(该对象封装了定义调用方安全上下文的 Windows 访问令牌)验证,而其他关守(如,ASP.NET URL 授权和 .NET 角色)则没有这一要求。它们只要求身份经过验证即可,并不需要一定是由 Windows 访问令牌来表示。 设计身份验证和授权策略 下列步骤确定了帮助您为应用程序制定身份验证和授权策略的过程: 1. 确定资源 2. 选择授权策略 3. 选择用于资源访问的身份 4. 考虑身份传递 5. 选择身份验证方法 6. 决定如何传递身份 确定资源 确定应用程序需要向客户端公开的资源。典型资源包括: ● Web Server 资源,例如 Web 页、Web 服务、静态资源(HTML 页面和图像)。 ● 数据库资源,例如每用户数据或应用程序范围的数据。 ● 网络资源,例如远程文件系统资源和来自目录存储(如 Active Directory)的数据。 还必须确定应用程序需要访问的系统资源。这些资源与向客户端公开的资源相反,是不公开的。它们包括注册表、事件日志和配置文件。 选择授权策略 有两种基本授权策略: ● 基于角色。对操作(通常是方法)的访问是根据调用方的角色成员身份来加以保护的。使用角色将应用程序的用户群分为在应用程序内共享相同安全权限的用户组,例如“高级经理”、“经理”和“职员”。用户被映射到角色,如果用户有权执行所请求的操作,那么应用程序将使用固定身份访问资源。这些身份被各自的资源管理器(例如数据库、文件系统等)所信任。 ● 基于资源。使用 Windows ACL 分别保护各个资源。应用程序在访问资源之前模拟调用方,这使操作系统可以执行标准访问检查。所有资源访问都是使用原调用方的安全上下文执行的。此模拟方法严重影响应用程序的可扩展性,因为这意味着在应用程序的中间层无法高效地使用连接池。 在绝大多数必须进行扩展的 .NET Web 应用程序中,基于角色的授权方法是最佳选择。而某些规模较小的 Intranet 应用程序则从各种资源(如文件)中提取单个用户信息,当各个用户访问这些资源时,这些资源是通过 Windows ACL 加以保护的,因此更适合采用基于资源的授权方法。 在进行基于角色的授权时,所推荐使用的和常见的做法是: ● 在前端 Web 应用程序中验证用户身份。 ● 将用户映射到角色。 ● 根据角色成员身份授权对操作(不是直接对资源)进行访问。 ● 通过使用固定服务身份,访问必要的后端资源(用来支持所请求和授权的操作)。后端资源管理器(例如数据库)信任 应用程序可以授权调用方,并且愿意将权限授予被信任的服务身份。 例如,数据库管理员可以将访问权限只授予特定人力

文档评论(0)

aiwendang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档