浅谈ASP.NET安全管理的验证机制_浅谈银元机制币收藏戏作币

2022-10-26 其他范文 阅读:

  摘要:随着ASP.NET网络应用的不断发展,安全管理功能已经显得非常重要。该文通过对ASP.NET网络安全管理的模式和运行机制的分析,希望对大家建立起更高效更安全的ASP.NET网络管理环境有所帮助。
  关键词:ASP.Net;安全;验证
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)04-0771-01
  ASP.NET 2.0对于Web网页资源访问的安全管理提供了两道机制,一道是验证( Authentication),另一道是授权(Authorization),而验证与授权要怎么分辨呢?即便是管理IIS或Windows服务器的网管人员都不一定能够清楚回答这两个字义上的分别,但他们确实是每天都与这两种机制打交道。
  所谓的“验证”是网站或Windows大门入口警卫,它只负责验证用户是否具有合法的用户名与密码,若用户名与密码正确则对用户连接或Request放行,若不正确则禁止进入网站或Windows操作系统;而“授权”则是指对整个网站或Windows操作系统中个别资源项目的访问权限,为什么还要多此一举?因为验证只是大门警卫,它所验证的东西很粗略,只验证用户名密码,但问题随之而来,用户进入网站后是不是就可以为所欲为,任意访问整个网站机密资料呢?答案当然是否定的,所以各位可以理解到必须要有更进一步的精密管理机制来限制用户访问权限,而那正是授权机制的工作。
  本文主要讨论ASP.NET2.0网络安全管理中验证机制。ASP.NET2.0网络安全管理验证包括None、Windows、Forms、Passport四种模式,其中最常用的是Windows和Forms验证模式。
  1Windows验证模式
  首先要谈的是Windows验证模式,如果读者打算使用Windows的验证模式,一定要将IIS“匿名访问”的选项打勾移除,并在“集成Windows身份验证”选项打勾。这个模式会使用Windows操作系统内置的帐号来验证,好处是可以和公司的Windows服务器帐号集成,坏处是任何一位用户都必须在Windows中建立帐号。想想看,若我们设计的网站供Internet访问或者有成千上万用户帐号,根本不可能用这个模式。因为每个联机帐号不但需要CAL的License费用,且Windows本身内置帐号Schema太过简单,比如说想存放用户的星座、血型,这是办不到的;即便办得到,服务器管理员也会认为这是疯狂的行为。故此模式比较适合独立服务器或者具有AD环境的公司来做Single SignOn单一签入的集成。
  2Forms验证模式
  如前面所言,Windows验证模式是验证用户帐号,但因为必须在Windows创建帐号而非在数据库上,另外每个用户联机访问授权(CAL)必须花钱购买。这样,对于网页应用程序来讲显得颇为掣肘,变得非常不实际,也不实用。
  为了克服上述的缺陷,我们可以使用Forms验证模式来避开上述两个重大限制,使用Forms验证模式就可不必依赖Windows本身内置的帐号密码,程序员可以将用户帐号、密码或组存放在SQL Server或其他数据库中(ASP.NET 2.0提供现成的Membership与Role机制来管理用户帐号及群),通过自定义的UI及程序来验证用户身份,若用户通过验证,则可以进行下一步的网页访问操作,若不成功则会被导向默认的网页(如Login.aspx)来强制用户一定要输入帐号及密码验证身份,同时也达到保护网站Security的目的。
  Forms验证模式通常配合IIS的匿名访问,当用户访问网页时,只需第一次输入帐号密码,随后个人身份将会储存在Cookies中,并且后续的Request都是自动加密解密存在于Cookies中的身份。”因此我们可以了解到要使用Forms验证模式:①第一步是要开启ns的匿名访问;②第二步是设置ASP.NET使用Forms验证模式;③第三步是必须通过少许程序来辅助验证.
  3Forms验证模式机制的探讨
  Forms验证模式用户第一次浏览网页时会被导向Login.aspx强制进行登录,那以后访问别的Web Form是否又要被导向Login.aspx再登陆?答案是不必!但为何通过身份验证后就可以任意浏览整个网站,而不必再次输入帐号密码?一定有人会说:“就像Windows操作系统只要一次输入帐号密码就够了,网页也是同样的道理!”没错,是同样的道理,Windows登录AD网域后是有所谓的Session Ticket,大家都知道:Ticket中文译作“票”,所以当我们去使用AD网域的资源时,系统就会拿您登录后所配发的那个数字Ticket去自动验证(就像火车站需要验票一样)。其实是执行重复性验证操作,但这跟ASP.NET又有何关系?其实ASP.NET也是遵循相同原理,因为ASP.NET也有一个叫Forms -Authentication Ticket,以此Ticket来进行身份验证。Forms验证模式在用户第一次登录成功后,就会将此用户的身份加密储存在Http Cookies中,而该用户后续发出的Request也会自动从Cookies解密用户身份以提供 系统验证,否则每查询一次网页必须再输入一次帐号密码!各位在Internet浏览网站中只要输入一致帐号密码就可以通行也是这个道理,所以Forms验证模式背后运作机制的就是Http Cookies,通过Http Cookies来达成身份验证的自动化。而Http Cookies就是ASP. NET所使用的Authentication Ticket。
  4结束语
  本文分析了ASP.NET的网络安全管理的验证模式,特别是对Forms模式进行了较为详细论述,在实际应用中,若能结合Cookies的管理和清除技术,可以构建起一个安全高效的网络应用系统。
  参考文献:
  [1]洪石单.ASP.NET范例开发大全[M].北京:清华大学出版社,2010.
  [2]胡百敬.ASP.NET应用系统开发[M].北京:人民邮电出版社,2006.
  [3]李琼汉,周恩,霍元极,等.基于ASP.NET AJAX的高校科研管理系统的设计与实现[J].电脑知识与技术,2011(2): 263-264,275.

浅谈ASP.NET安全管理的验证机制_浅谈银元机制币收藏戏作币

http://m.zgzsclpt.com/content/207769.html

推荐访问:浅谈 浅谈 安全管理 验证 机制

其他范文推荐文章

推荐内容

上一篇:[回归模型中基于机器学习的流量预测算法] 下一篇:【精英点石成金主板发布会圆满成功】点石成金