微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于ASP.NET的Web应用程序安全性的探讨

基于ASP.NET的Web应用程序安全性的探讨

时间:08-02 来源:国外电子元器件 点击:

3 授权

用户通过验证,并且取得自己的身份后,就必须检查其是否拥有访问所请求资源的权限,此过程便称为"授权"。例如,在机密的政府机构中,如果有人想进入某些房间,则首先必须检查其是否拥有进入该房间的权限。

在Windows系统中,大部分的文件都会拥有一个访问控制列表。不仅会列出有哪些用户或者用户组访问该资源,而且详细地指出了每个用户或者用户组所能够运行的访问类型一能否读取、写入、修改和删除等。

《图片管理系统》中的权限声明:12级的用户指超级管理员,即可以执行所有操作;11级的用户拥有修改图片权限:10级的用户只有浏览图片的权限。

在ASP.NET中,授权方式主要有2种,它可以依赖Windows指出通过验证的用户可访问哪些资源,称之为文件授权;也可依赖被请求资源的URL,被称为URL授权。下面的这段代码可实现对多个目录的权限控制:

URL授权由UrlAuthorizationModule HTTP模块控制,该模块的行为由存储于web.config文件的<authorization>中的设置驱动。在URL授权的最后阶段,需要指出的是,只有ASP.NET资源受到监控。通常,基于URL的授权很少与Windows身份验证一起使用,URL授权对于Forms身份验证则更有效。

4 模拟

ASP.NET的另一项重要安全功能便是用户账户模拟。默认状态下,ASP.NET不启用模拟,而是执行所有的代码,应用程序可访问所有的文件与文件夹,这时必须采用其他的安全措施控制访问权限。

图3详细说明了用户为获得安全资源的访问权限需要经历的过程。

使用模拟功能,ASP.NET能够以访问应用程序的用户身份来执行页面。即若用户以"Winters"身份来访问资源,则ASP.NET将把自己模拟成"Winters"来使用服务器上的各项资源,并根据该用户的权限限制或者允许ASP.NET访问某些资源,从而实现数据的安全性。模拟用户的流程图如图4所示。

ASP.NET应用程序是系统资源的用户,需要访问文件、内存等,因此在默认状态下,ASP.NET应用程序进程有非常大的权限,几乎可访问系统提供的任何资源。但有时可能根据需要通过使用ASP.NET应用程序的用户身份来限制对资源的使用,这便要运用模拟功能,让ASP.NET模拟用户身份运行程序。

5 结语

综上所述,是通过开发《图片管理系统》中对ASP.NET安全性的探讨。文章中的例子包括程序代码段都是在开发过程中应用的、经过验证的、也是运行通过的。有关于ASP.NET安全性问题有待于继续探讨。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top