All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
C#,中的常用正则表达式总结_[Asp.Net教程]
Visual C++ 6.0教程:c++数据类型之结构
用C#访问ACCESS数据库问题_.net资料_编程技术
将一个图片按比例缩放显示在一个Frame中_[Asp.Net教程]
ajax技术制作得在线歌词搜索功能_[AJAX教程]
ASP.NET编程经验技巧10则_[Asp.Net教程]
建立灵巧结构的PHP程序_php资料_编程技术
Sql,server2005,sp1发布_[SQL,Server教程]
C++继承与派生
HTML语言剖析(十二)多媒体标记_[Html教程]
Reading number is top 10 pictures
Li Zongrui hunting video screenshots2
壮丽的云彩2
Sell the barbecue as says father du breul5
迷人的靓女
西游日记3
猫眯也疯狂
Catch prostitution woman in China
美丽的桂林风光1
恶搞漫画1
Extremely rare TianShan Mountains snow lotus1
Download software ranking
双旗镇刀客B
The hero
Boxer vs Yellow4
艳兽都市
Boxer vs Yellow3
Take off clothes to survival
Tram sex maniac 2 (H) rar bag7
VeryCD电驴(EasyMule) V1.1.9 Build09081
双旗镇刀客A
linux初级教程
aaa published in(发表于) 2013/12/17 7:46:02 Edit(编辑)
ASP.NET应用程序资源访问安全模型_.net资料_编程技术

ASP.NET应用程序资源访问安全模型_.net资料_编程技术

ASP.NET应用程序资源访问安全模型_.net资料_编程技术-你的首页-uuhomepage.com







  摘要:本文主要介绍了ASP.NET WEB应用程序的安全模型的种类、对比其优缺点,提出了选择的机制。




  关键字:安全模型 受信任子模型 模拟/委托子模型 ASP.NET WEB应用




  1.前言




ASP.NET WEB应用程序通常属于多层体系结构,一般从逻辑结构上可以分为表示层、业务逻辑层和数据访问层;客户端要访问应用程序资源,其身份认证和授权必然要跨越多个层次。本文主要讨论SP.NET应用程序的资源访问安全模型




  2. 资源访问标识




WEB应用程序对外提供的给客户端的典型资源包括:




Web服务器资源,如Web页、Web服务和静态资源(HTML页和图像)。
数据库资源,如针对每个用户的数据或是应用程序级数据。
网络资源,如远程文件系统资源等。
系统资源,如注册表、事件日志和配置文件等。




客户端跨越应用程序的层来访问这些资源,要有一个标识流经各个层。这个用于资源访问的标识包括:




  原始调用者的标识 原始调用者的标识被获取并且随后流经系统的每个层。

  进程标识 本地资源访问和下游调用是使用当前进程标识进行的。这种方式的可行性依赖于要跨越的边界,因为进程标识必须能被目标系统识别。这需要以下面两种方式之一进行调用:




  在同一个Windows安全域中




  跨Windows安全域-使用信任和域账户,或者在不存在信任关系的情况下使用重复的用户名和密码。
服务账户 这种方式使用一个(固定的)服务账户。例如
对于数据库访问,该服务账户可能由连接到数据库的一个组件表示固定的SQL用户名和密码。
当需要固定的Windows标识时,应使用Enterprise Services服务器应用程序。
自定义标识 当没有Windows账户可用时,可以使用Iprincipal和Iidentity实现构造自己的标识,可以包含安全上下文有关的详细信息。




  3. 资源访问模型




  3.1 受信任子系统模型




如图1所示,在这种模型中,原始调用者的安全上下文并不在操作系统级流经服务,而是在中间服务层使用了一个固定标识来访问下游的服务和资源。受信任子系统模型得名于这样一个事实:下游服务(可能是一个数据库)信任上游服务,让其调用者进行授权。图1中的示例,数据库信任中间层对调用者进行的授权,并只允许被授权的调用者使用受信任标识访问数据库。




  3.1.1 资源访问模式




在受信任子系统模型中,资源访问模式如下:




对用户进行验证
将用户映射为角色
根据角色成员关系进行授权
使用一个固定的受信任标识访问下游资源




  3.1.2 固定标识




用于访问下游系统合资源管理器的固定标识,可以使用进程标识,也可以使用一个预先设定的Windows账户-服务账户来提供。对于SQL Server资源管理器,这意味着对SQL Server的Windows身份验证。




使用进程标识时通常使用ASP.NET进程标识(默认识ASPNET账户)。实际应用时,经常需要将ASPNET账户更改为一个更为安全的密码,并在SQL Server计算机上镜像创建一个与ASP.NET进程帐户相匹配的Windows账户。具体方法如下:




编辑位于%windr%\Microsoft.NET\Framework\v1.1.4322\CONFIG目录下的Machine.config文件,将元素上的密码属性重新配置,将其默认值改为;或是通过ASPNET_setreg.exe工具,将用户名和密码保存到注册表,配置改为:




另外一些应用程序使用指定的SQL账户(在连接字符串中由用户名和密码指定)来访问SQL Server。在这种情况下,数据库必须配置为SQL身份验证。在配置文件中保存的连接字符串需要加密保护。




  3.2 模拟/委托模型




如图2所示,使用模拟/委托模型时,一个服务或组件(通常位于逻辑业务服务层中)在访问下一个下游服务前,使用操作系统模拟功能来模拟客户端标识。如果该服务位于同一计算机上,则使用模拟就足够了,如果下游服务位于远程计算机则还需要使用委托,下游资源访问的安全上下文是客户端的上下文。




  3.3 选择资源访问模型




两种资源访问模型的比较如表一所示。




  受信任子系统模型 模拟/委托模型




  审核功能 后端信任上层服务,若中间层受侵害,后端资源易受攻击。 后端服务可以对每个调用者进行验证、授权,安全性好。




  可伸缩性 支持连接池,伸缩性好。 不支持连接池,伸缩性差。




  后端ACL管理 ACL针对单个实体进行配置,管理工作少。 每个用户都要被授予相应的访问级别,后端资源和用户数增大时,管理工作繁琐。




  技术问题 不用委托。 需要委托。大多数安全服务提供程序不支持委托。




在大多数Internet应用程序以及大型intranet应用程序中都会使用受信任子系统模型,这主要是由于这种模型能很好的支持可伸缩性。模拟/委托模型则倾向于用于小型的系统。对于这些应用程序,可伸缩性不是主要的考虑因素,其主要考虑的因素是审核。






















添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.