浅析ASP.NET的身份验证_第1页
浅析ASP.NET的身份验证_第2页
浅析ASP.NET的身份验证_第3页
浅析ASP.NET的身份验证_第4页
浅析ASP.NET的身份验证_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、浅析ASP.NET的身份验证论文关键词:身份验证,验证,身份验证,身份验证一、问题描述1、问题的提出在网站的开发中,大多数都会碰到与用户的交互。用户可以利用应用程序来完成自己的业务或实现一些功能,比方发布信息,获取信息等等。为了交互应用的需要,这些用户需要保存到存储器中,不同用户的权限不同,比方:管理员可以配置应用程序,可以增、删、改用户信息,而普通的用户只能浏览网站。要实现不同用户的权限管理,首先就要对不同的用户的身份进行确认,这就是本文要讲述的主题身份验证。2、身份验证的概念什么是身份验证?web应用程序中如果想要不同的用户有不同的资源访问权限,就要对访问该资源的用户进行区分,应用程序需要

2、知道该用户是谁,以确定访问者的身份是否有权限进行访问和操作。这一过程就是身份验证。1、Windows验证使用这种身份验证模式时,ASP.NET依赖于IIS对用户进行验证,并创立一个Windows访问令牌来表示已通过验证的标识。IIS提供以下几种身份验证机制:l根本身份验证l简要身份验证l集成windows身份验证l证书身份验证l匿名身份严整2、Passport护照身份验证在通常的基于用户名和密码的身份验证程序中,网站开发人员一般要处理下面几个过程:l一个用于用户输入用户名和密码的图形界面l一个用来保存用户信息的数据库l实现用户验证l注销功能3、Forms窗体)身份验证Forms身份验证是使用比

3、拟多的一种验证方式,它不需要依赖任何其他的程序或效劳,完全靠网站开发人员来进行控制,因此,在web应用程序中被广泛使用。这种验证方式使用客户端重定向功能,将未通过身份验证的用户转发到特定的登录窗体,要求用户输入其凭据信息通常是用户名和密码。这些凭据信息被验证后,系统生成一个身份验证票证ticket并将其返回客户端。身份验证票证可在用户的会话期间维护用户的身份标识信息,以及用户所属的角色列表。4、None使用这种身份验证模式,表示你不希望对用户进行验证,或是采用自定义的身份验证协议。三、ASP.NET身份验证配置架构1、authentication元素在web.config里,authentic

4、ation元素配置ASP.NET身份验证支持,使用mode属性指定应用程序的默认身份验证模式。mode=;Windows;,采用windows身份验证mode=;Forms;,基于窗体身份验证mode=;Passport;,采用护照身份验证mode=;None;,不指定任何身份验证2、Forms元素Forms元素为基于窗体的自定义身份验证配置ASP.NET应用程序。在URL中发送Forms身份验证票时,如果匿名标识票、Forms身份验证票、会话ID和用户数据的组合超出允许的最大URL所允许的长度一般是255个字符,那么请求会失败并显示;400-BadRequest;错误。3、credentia

5、ls元素credentials元素设置允许选择在配置文件中定义名称和密码凭据。用户还可以实现自定义的密码架构,以使用外部源如:数据库来控制验证。Credentials元素passwordFormat定义如下:lClear:指定密码不加密lSHAI:指定使用SHAI哈希算法给密码加密,此值为默认值lMD5:指定使用MD5哈希算法给密码加密4、passport元素passport元素指定在使用Passport方式验证时用户要重定向到的登陆页。仅当authentication元素的mode属性设置为Passport时,此元素才有效。Passport身份验证是由Microsoft提供的集中身份验证效劳

6、,该效劳为成员站点提供单一登陆和核心配置文件效劳。假设要使用Passport身份验证,在使用前,必须将站点注册到Passport效劳,然后接受许可协议并安装.NETPassportSDK。5、machineKey元素machineKey元素对密钥进行配置,以方便其用于对Forms身份验证Cookie数据和视图状态数据进行加密和解密,并将其用于对进程外会话状态标识进行验证。设计分布式应用程序的身份验证是一项具有挑战性的任务。在应用程序开发的早期阶段,进行适当的身份验证设计有助于降低许多平安风险。1、各种身份机制的比拟 用户是否需要在效劳器中拥有windows帐户 是否支持委托 是否需要windo

7、ws 2k客户端和效劳器 凭据是否明文传输 是否支持非IE浏览器 根本身份验证 是 是 否 是 是 简要身份验证 是 否 是 否 否 证书身份验证 否 是 否 否 是 Forms身份验证 否 是 否 是 是 Passport身份验证 否 是 否 否 是 2、选择身份验证机制需要考虑的因素l标识只有当应用程序的用户具有的windows帐户可以通过一个受信任的权威机构它可以被应用程序web效劳器访问来进行验证时,使用windows身份验证机制才是适宜的。l凭据管理windows身份验证的一个关键优势在于它可以使用操作系统进行凭据管理。当使用非windows身份验证方式,例如窗体身份验证时,它必须仔

8、细考虑在何处以及如何保存用户凭据。其中最常用的方式是使用sqlserver数据库或使用位于ActiveDirectory中的User对象。l标识流动是否需要实现一个模拟/委托模型,并将原始调用者的平安上下文在操作系统级进行跨层流动-例如,以便支持审核或针对每个用户的精细授权。l浏览器类型应用程序的所有用户是否都拥有IE浏览器?或是你是否需要支持一个具有混合型浏览器的用户群?我们选择身份验证时需要根据各种方式的特点,综合考虑以上因素。五、基于Forms身份验证模式的实现方法使用Forms身份验证比拟简单,下面通过一个实例来说明Forms身份验证的实现方法。这里假设整个网站都需要登陆才能访问,而且

9、需要有注册页面1、站点根目录下,配置web.config,使用Forms身份验证将元素设置为:注解:1mode=Forms,身份验证为Forms模式2name=MyAppFormAuth,用于身份验证的Cookie的名字3loginUrl=login.aspx,身份验证时用户登陆的url4protection=All指定应用程序同时使用数据验证和加密方法来保护Cookie。5timeout=20指定Cookie过期的时间为20分钟。2、在站点根目录下建立登陆界面login.aspx,关键代码如下:protecedvoidCmdLogin_Click(objectsender,EventArgse)/为了讲解方便,省略数据库查询过程,直接判断。If(UserName.Text=;dl;Userpwd.Text=;123;)FormsAuthentication.RedirectFromLoginPage(UserName,chkP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论