2007-07-31

ASP.NET应用程序资源访问安全模型

来源: 本站收集整理 作者:佚名 评论 0 条
  摘要:本文主要介绍了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文件,将<processModel>元素上的密码属性重新配置,将其默认值<!-UserName="machine" password="AutoGenerate" -->改为<!-UserName="machine" password="NewPassword" -->;或是通过ASPNET_setreg.exe工具,将用户名和密码保存到注册表,配置改为:<!-enable="true" UserName="Registry:HKLM\SOFTWARE\YourAPP\processsModel\ASPNET_SETREG,userName" password=" Registry:HKLM\SOFTWARE\YourAPP\processsModel\ASPNET_SETREG,password " -->
共2页: 上一页 1 [2] 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:如何封装JS和CSS文件为服务器端控件  
下一篇:.Net环境下基于Ajax的MVC方案
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号