- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Forms Authentication进行用户验证
Forms Authentication进行用户验证
本来使用Forms Authentication进行用户验证的方式是最常见的,但系统地阐明其方法的文章并不多见,网上更多的文章都是介绍其中某一部分的使用方法或实现原理,而更多的朋友则发文询问如何从头到尾完整第实现用户的注册、登录。因此,Anders Liu在这一系列文章中计划通过一个实际的例子,介绍如何基于Forms Authentication实现:
l 用户注册(包括密码的加密存储)
l 用户登录(包括密码的验证、设置安全Cookie)
l 用户实体替换(使用自己的类型作为HttpContext.User的类型)
有关Forms Authentication的原理等内容不属于本文的讨论范畴,大家可以通过在Google等搜索引擎中输入“Forms Authentication”、“Forms身份验证”、“窗体身份验证”等关键词来查看更多资源。本文仅从实用的角度介绍如何使用这一技术。
不使用Membership
本文介绍的实现方式不依赖ASP.NET 2.0提供的Membership功能。这主要是因为,如果使用Membership,就必须用aspnet_regsql.exe实用工具配置数据库,否则就得自己写自定义的MembershipProvider。
如果用aspnet_regsql.exe配置数据库,就会导致数据库中出现很多我们实际并不需要的表或字段。此外更重要的是,默认的SqlMembershipProvider给很多数据表添加了ApplicationID列,其初衷可能是希望可以将多个应用程序的用户全部放在一个库里,但又能彼此隔离。但实际情况是,每个应用程序都在其自身的数据库中保存用户数据。因此,引入这个ApplicationID无端地在每次查找用户时增加了额外的条件。
另一方面,如果考虑自己实现一个MembershipProvider,因为工作量巨大,有点得不偿失。
但是,如果不使用Membership,也就无法享受ASP.NET 2.0中新增的Login等控件的便利了。
与Forms Authentication相关的配置
在web.config文件中,system.web/authentication配置节用于对验证进行配置。为authentication节点提供mode=Forms属性可以启用Forms Authentication。一个典型的authentication配置节如下所示:
authentication mode=Forms
forms
name=.ASPXAUTH
loginUrl=login.aspx
defaultUrl=default.aspx
protection=All
timeout=30
path=/
requireSSL=false
slidingExpiration=false
enableCrossAppRedirects=false
cookieless=UseDeviceProfile
domain=
/
/authentication
以上代码使用的均是默认设置,换言之,如果你的哪项配置属性与上述代码一致,则可以省略该属性例如forms name=MyAppAuth /。下面依次介绍一下各种属性:
l name——Cookie的名字。Forms Authentication可能会在验证后将用户凭证放在Cookie中,name属性决定了该Cookie的名字。通过FormsAuthentication.FormsCookieName属性可以得到该配置值(稍后介绍FromsAuthentication类)。
l loginUrl——登录页的URL。通过FormsAuthentication.LoginUrl属性可以得到该配置值。当调用FormsAuthentication.RedirectToLoginPage()方法时,客户端请求将被重定向到该属性所指定的页面。loginUrl的默认值为“login.aspx”,这表明即便不提供该属性值,ASP.NET也会尝试到站点根目录下寻找名为login.aspx的页面。
l defaultUrl——默认页的URL。通过FormsAuthentication.DefaultUrl属性得到该配置值。
l protection——Cookie的保护模式,可取值包括All(同时进行加密和数据验证)、Encryption
您可能关注的文档
- 2012年非常实用的七条拒酒词.doc
- 2012年黑建筑自招条件.doc
- 2012教师资格考试科研方法真题.doc
- 2012最新税收政策汇编.doc
- 2012浙大远程护理管理学在线作业2.doc
- 2012物化大纲.doc
- 2012版最新挖掘机机油压力低的故障原因分析.doc
- 2012考研英语备考热身(一)——复习计划.doc
- 2012考研英语二大纲总体解析.doc
- 2012网络歌手排行榜.doc
- 肾癌中IGF - 1R的表达特征、机制关联与临床价值研究.docx
- 脂肪组织来源干细胞成瘤风险性的多维度实验剖析与机制探究.docx
- 我国学前教育事业发展中政府职责政策的多维审视与优化路径.docx
- 上市公司财务治理结构深度剖析与优化路径.docx
- 国际大宗商品价格波动对人民币实际汇率的影响机制与实证研究.docx
- 高校教育国际化浪潮下中外合作办学管理机制的创新与实践.docx
- 苏云金芽胞杆菌纤维二糖转运途径的转录调控:机制与功能洞察.docx
- 政府投资对我国城乡收入差距的影响机制及优化策略研究.docx
- 剖析《经济学人》:经济话语中的修辞劝说艺术.docx
- 基于横向功能磁共振成像的脑卒中后运动神经网络重组机制探究.docx
文档评论(0)