,ASP.net   工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛,ASP.net
您的位置:软件 > 开发者网络 > 微软开发专栏 > Visual Studio.net专栏 > ASP.net > 正文
利用ASP.NET访问共享网络资源
[文章信息]
作者:刘彦青编译
时间:2003-11-28
出处:yesky
责任编辑:方舟
[文章导读]
访问共享资源是ASP.NET程序员的一大挑战,本文提出使用COM+组件来完成此任务倒是以独特的思路
advertisement
热点推荐
· 深入探讨SQL Server 2000对XML的支持
· Swing(空)
· 3DS Stodio Max 宝典
· 中小企业服务器配置方案--前 言
· 中小企业服务器配置方案--代理接入服务器(3)
[正文]

1 2 3 4  下一页

天极IT资讯短信服务 电脑小技巧
资费:包月5元
手机:
介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。


  对于许多ASP.NET开发人员而言,共享资源的访问是一个重大挑战,当开发Web表单和Web服务时就会遇到这样的挑战。微软公司的.NET拥有全新的用户授权和认证措施,大多数与安全相关的文章和书籍都用相当的篇幅解释表单认证,但是,与IIS、网络和操作系统安全相结合来理解ASP.NET安全架构是提供最佳解决方案的关健。


(图1)

  图1描述了由IIS和ASP.NET提供的基本安全表示,它与ASP安全相比有根本不同。上面的图来自MSDN的网站。当有Web请求发生时,下面的事件会依次发生。

   1、用户发出HTTP请求。

  2、当Web请求发生时,它会由以SYSTEM帐户运行的IIS获得。SYSTEM帐户的功能非常强大,而且拥有所有类型的权限。IIS根据选择的认证类型进行认证,并为每名经过认证的用户创建一个访问令牌。如果选择了了匿名认证,它就会为该匿名用户创建一个访问令牌,缺省情况下是IUSR_MACHINE。另外,ISS还根据配置的授权类型进行认证。例如,IIS能够配置得只接受来自特定IP地址的请求。

  3、IIS将请求和被认证用户的Windows访问令牌传递给aspnet_isepi.dll,这是一个注册为处理.aspx URL的ISAPI扩展。Aspnet_isepi.dll是一个IIS模块,是IIS和ASP.NET运行时间环境之间的一座桥。Aspnet_isapi通过命名管道向工作者进程转发该请求。

  4、该工作者进程是托管着CLR的aspnet_wp.exe。缺省情况下,工作者进程以ASPNET帐户运行。当安装ASP.NET框架时,系统会创建该本地帐户。与功能强大的SYSTEM帐户不同的是,ASPNET帐户的功能十分有限。ASP.NET根据其认证配置对请求者进行认证。认证以XML格式配置在该项目的web.config文件中。如果ASP.NET被配置为Windows认证,它会接受任何来自IIS的令牌,而不会进行其它认证。另外,ASP.NET还授权对请求的资源和文件的访问。例如,FileAuthorizationModel可以用来检查用户是否具有访问请求的资源所需要的权限。对于Windows认证而言,用户的访问令牌为ACL。

  5、如果整个过程发展到了这一步,应用软件就会使用特定的身份访问资源。缺省情况下,ASPNET进程帐户提供这一身份。但是,如果允许模仿,可以使用用户原来的身份或对模仿进行配置,使应用程序能够以特定的身份运行。

  既然安全措施已经阐明,在假设NTFC的权限被设置为网络资源的情况下,用户就可以访问数据了。在进一步向前发展之前,有二个重要问题需要解决。一个是指定和定义访问UNC共享上文件和文件夹的任务,换句话说,也就是访问网络上共享的文件和文件夹。另一个问题是决定用来完成资源访问任务的身份。为了完成第一个任务,需要首先完成第二个任务。

  有几种方法可以用来访问网络资源:

  ·使用ASP.NET进程身份

  ·使用匿名用户帐户

  ·使用LogonUser API

  ·使用服务性的组件(企业服务)

  使用ASP.NET进程身份似乎有很明显的缺陷。缺省情况下,当应用程序试着访问资源时,ASP.NET进程身份提供一个身份(ASPNET)。最简单的解决方案是创建一个具有与远程计算机上相匹配的用户名和密码的本地帐户。大多数企业都会有庞大的内联网,因此这一方法是不切实际的。另外,知道是谁在访问资源也是非常重要的。尽管该方法足以访问网络资源,但效率不够高;第二个方法是使用匿名帐户,例如IUSR_MACHINE。与上面的原因相同,这种方法的效率显然也不高;第三种方法是使用LogonUser API,这种方法要求通过调用Win32 LogonUser API模仿一个特定的身份,还可以通过配置ASP.NET项目web.config文件中的<identity>元素进行模仿。据MSDN上的一篇文章称,不建议用户使用以上这些方法,应当避免在Windows 2000服务器上使用它们,因为它们要求向ASP.NET帐户进程授予“作为操作系统一部分运行”的权限,从而极大地降低了web应用程序的安全性。因此,该方法也不理想。最后,也是最可行的解决该问题的方法是使用配置为作为用于访问网络资源固定身份运行的服务性组件。这种方法听起来令人胆怯,但它是目前最好的解决方案,它的架构如下图所示:


(图2)

  梅耶在http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/SecNetch08.asp上发表的一一篇有关安全的文章中表示,在企业服务服务器应用程序中使用服务性组件有以下好处:

  ·在使用的身份方面的灵活性,不必只依赖于ASP.NET身份。

  ·受信任或权限较高的代码能够与主web应用程序隔离。

  ·增加的进程跃距提高了攻击难度,它使得黑客更难跨越进程的边界,使用具有较高权限的进程。

  ·如果需要手动处理LogonUser API调用的模仿,我们可以在一个与主Web应用程序隔离的进程中完成这一工作。


1 2 3 4  下一页

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 
,ASP.net相关内容,ASP.net焦点新闻
  • ASPX页Web服务调用性能优化
  • ASP.NET中编程杀死进程
  • XmlTextWriter创建XML文件
  • ASP.NET应用程序规划与设计
  • 了解ASP.NET页面对象模型
  • FVD刺激高清碟机加速商业化 抢占商机最重要
  • 3家搜索引擎集体诉讼8848 吕春维未敢出席
  • 杨元庆:没有准备不会获批的备用方案
  • 军队信息化诞生新领域 电子军务呼之欲出
  • 世界经济论坛公布信息化程度全球最新排名
  • 2004政务绩效评估:政府门户尚处于发展阶段
  • 甲骨文出资5.15亿美元 意图收购RetekInc
  • 技术并购:帮你突破传统增长的“天花板”
  • ,ASP.netAdvertisement

    天极无线
    经典名曲 华语流行 欧美风情 人声音效 原声大碟
    你好周杰伦-安又琪
    直线-张韶涵
    天边-张韶涵
    看我72变-蔡依林
    乱世佳人-Twins
    全世界下雨-张娜拉
    我们的爱-飞儿乐队
    分手快乐-梁静茹
    爱在西元前-周杰伦
    三万英尺-迪克牛仔
    爱如潮水-张信哲
    爱情宣言-齐秦
    寻找玛依拉-刀郎
    驼铃-刀郎
    老鼠爱大米-杨臣刚
    功夫主题曲
    仙剑主题曲杀破狼
    天下无贼片尾曲
    冲动的惩罚-刀郎
    情人-刀郎
    爱情-莫文蔚
    挪威的森林-伍佰
    奔跑 - 羽泉
    因为爱 - 羽泉
      ·时尚女人圈
    ·经典影视专集
    ·美女秀场
    ·美丽大自然专题
    ·流行金曲
    ·科幻电影特区
    | 最新推荐
    ·你好周杰伦
    ·杀破狼
    ·寻找玛依拉
    ·孤单公园
    ·男人海洋
    | 魔术铃声
    ·少女丰胸
    ·少妇丰胸
    ·减肥魔铃
    ·增高魔铃
    ·美容魔铃

    今日报价查询 更多报价