关于ASP.NET的性能优化及其安全性的探讨(3)
作者:佚名; 更新时间:2014-12-05
2.ASP.NET身份验证和授权策略
当IIS收到用户请求时,它首先查看资源是如何受到保护的。资源可以用匿名访问保护(大多数Web站点都是如此),或者用标准的本地或活动目录证书保护。接下来,IIS通过标准的访问控制列表(ACL)查看用户对请求的资源是否有访问权限。如果任一项检查失败,IIS甚至在请求到达ASP.NET之前就拒绝它。
在上述过程中发生了两件事。用户身份验证,然后被授权。如果一个ASP.NET资源被请求,IIS对请求进行了身份验证并授权,下一步是由ASP.NET提供它自己的身份验证和授权。这为开发人员自定义的身份验证提供了基础结构,不必从头开发一个安全基础结构。
ASP.NET在应用程序中为验证用户身份提供了三种方法:
(1)Windows身份验证
Windows身份验证提供了与传统的Windows账号(或者是活动目录账号或者是本地账号)相似的集成。该模式的工作方式和正常的IIS身份验证相同。在这种模式下,要禁用对你站点的匿名访问,以保护你的站点不被未授权用户侵入。然后要更新Web. Config文件,指定身份验证模式为Windows身份验证,并指定ASP.NET应该使用用户被IIS质询时输入的证书作为该应用程序的证书。
Windows身份验证是最快的身份验证模式,因为它依赖于IIS模式,因为你不能控制登录页面模式的证书来源——并且该模式要求通过网络访问Windows证书来源,信捷职称论文写作发表网,这就意味着它不十分适合于公共的Web应用程序,因为你不能控制客户端或网络访问。
(2)Forms身份验证
Forms身份验证允许开发人员生成他们自己的标准登录页面,并根据Web.Config文件中的条目进行身份验证,或者使用他们自己的身份验证文件。Forms身份验证是可自定义性最强的身份验证方法。因为你能够控制身份验证文件和方法。
和Windows身份验证不同的是Forms身份验证要求单独访问证书来源(即使证书存储在Web.Config中)。应尽量简化身份验证例程,并去除总想包括在内的外部元素(像检索个性化设置、用户图片等)。这些工作只能放在其他时间来作,它们只会延缓登录进程。
(3)Passport身份验证
Passport身份验证允许你把你的应用程序和Microsoft Passport服务集成在一起。该模式的基本工作方式是当检测一个未进行身份验证的请求时,ASP.NET把登录证书从一个Passport登录窗口(在Web服务器上安装Passport服务时也安装该登录窗口)发送到Passport服务。
Passport身份验证是最慢的身份验证方法,因为为了验证证书,它要求通过Internet进行Web服务类型的通信。Passport方法也是有前途的,因为用户只要记住一套证书就能登录到受Passport保护的Web站点中。
三、结束语
对网站来说, 性能和安全性十分重要。ASP.NET 提供了若干新的策略和编程方式,在信息产业高速发展的今天,只有将这些新的策略和编程方式合理应用到站点的开发中,以此来提高站点的性能和安全性,我们的站点才会受到更多的用户的亲睐。
参考文献:
[1 ]Scott Worle著王文龙刘湘宁译:ASP. NET技术内幕[M]. 人民邮电出版社,2002
[2 ]K.scott AllenJames Avery著侯译:ASP. NET性能高级编程[M].清华大学出版社,2003
[3 ]Patrick A.Lorenz. ASP. NET 2.0 Revealed[M].Wrox Press ,2004
[4]尚俊杰秦卫中:ASP.NET 程序设计案例教程[M].北京:清华大学出版社,2005
上一篇:试析信息素质与计算机应用能力
下一篇:浅析职高计算机教学“三步曲”
热门论文