您当前的位置:首页 > 计算机论文>信息安全论文

基于.NET的WEB认证机制的研究

2015-12-14 14:30 来源:学术参考网 作者:未知

摘 要:本文主要介绍了基于.NET的WEB认证种机制:Windows身份验证、Forms身份验证和Passport身份验证提供程序。介绍了各种机制使用的环境、实现技术并分别举例予以实现。

关键词:NET平台;WEB认证
1 引言
  Web安全是一个极其复杂的主题,经常困扰着开发人员和最终的用户,但在当前的时代背景下这又是一个必须解决的问题。首先要解决的是“我是谁”的问题,即:Web的认证(针对不同的用户进行权限分配工作)。然后解决的是“我能干什么”的问题。即:Web的授权(用户登录后根据不同的权限访问系统不同的资源和实现不同的功能)。本文主要介绍在Net平台下Web认证的三种实现方式:Windows身份验证、Forms身份验证提供程序和Passport身份验证提供程序。
2 基本配置
  ASP.NET 2.0 提供了三种不同的认证机制。如表2-1所示:




 
2.1 在Web.config中配置认证信息
  在Web.config中配置认证信息。在应用中启动认证后,在Web.config文件的//节点中进行配置,配置的示例代码如下:

 
 

  其中,mode是必选的属性,它指定应用程序的默认身份验证模式,可选值为Windows、Forms、Passport或None,默认值为Windows。  
3  Web应用中认证机制
3.1 Windows认证机制
  如果应用程序使用Active Directory用户存储,则应该使用集成Windows身份认证,这时只需要一个域账号,用户既可以访问Web应用完成他们的业务又可以访问Active Directory中相关的资源。
  在使用Windows认证时,IIS首先向操作系统或者Active Directory请求身份认证,通过后,IIS将向ASP.NET传递代表经过身份验证的用户或匿名用户账户的令牌。该令牌在一个包含在IPrincipal对象中的IIdentity对象中维护,IPrincipal对象进而附加到当前Web请求线程。可以通过HttpContext.User属性来访问IPrincipal和IIdentity对象。
  在配置文件中,如果存在如下的配置,则表示启用了Windows认证。

  启用Windows认证实质上就是在ASP.NET的处理管道中启用了WindowsAuthenticationModule,这个类负责创建WindowsPrincipal和WindowsIdentify对象来表示经过身份验证的用户,并且负责将这些对象附加到当前Web请求。
3.2 Form认证机制
  窗体身份验证使用户登录到站点时创建的身份验证票,然后在整个站点内跟踪该用户。窗体身份验证票通常包含在一个Cookie中。然而,ASP.NET2.0版支持无Cookie窗体身份验证,结果是将票证传入查询字符串中。
如果一个用户请求一个需要经过身份验证的访问页,且该用户以前没有登录过该站点,则该用户重定向到一个配置好的登录页,该登录页提示用户提供凭据(通常是用户名和密码)。然后将这些凭据传递给服务器并针对用户存储(比如数据库中的表)进行验证。在ASP.NET 2.0中,用户存储访问可以由成员身份提供程序处理。对用户的身份进行验证后,用户重定向到原来的请求页面。  
3.3 Passport身份验证
  Passport认证是一种Microsoft提供的集中认证服务。用户可以使用Microsoft .NET Passport来访问服务,例如Microsoft Hotmail和Microsoft Windows Messager/MSN Messager。如果你用Passport服务注册了自己的站点,用户既可以使用相同的Passport来访问你的站点,他们不需要记住不同系列的凭据。要使用Passport认证,必须完成下列步骤:
(1)获取.NET Passport software development kit(SDK)
(2)在Web.Config文件中按如下代码配置Passport认证:

4 总结
  本文首先介绍了Web应用的各种场景,然后主要介绍了基于.NET的WEB认证和授权三种机制:Windows身份验证、Forms身份验证和Passport身份验证。
  
参考文献:
姬宁,林晓,普杰信,一种基于SIP安全认证机制的研究,《计算机应用》2007.3

相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页