第7章 ASPNET成员和角色管理.ppt_第1页
第7章 ASPNET成员和角色管理.ppt_第2页
第7章 ASPNET成员和角色管理.ppt_第3页
第7章 ASPNET成员和角色管理.ppt_第4页
第7章 ASPNET成员和角色管理.ppt_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

ASP.Net,2010年9月15日,第七章ASP.NET成员和角色管理,登陆控件,成员资格管理,角色管理,3,1,2,第7章ASP.NET成员和角色管理,作为一个完整的用户系统,为用户提供注册、登录和修改密码等操作是不可少的.ASP.NET成员资格提供了一种用户身份验证和存储用户凭据的内置方法.ASP.NET成员资格可以与ASP.NETForms身份验证或ASP.NET登录控件结合使用,以创建一个完整的用户身份验证系统。,ASP.NET成员和角色管理,7.1登陆控件,ASP.NET提供了7种登陆控件,开发人员只需直接设定控件属性或者编写少量代码,就可实现网站的用户注册、登陆、用户信息显示、密码修改和密码恢复等一整套功能。,ASP.NET成员和角色管理,登陆控件列表,【返回】,ASP.NET成员和角色管理,7.1.1CreateUserWizard控件,CreateUserWizard控件:用户名、密码、密码确认、电子邮件地址、安全提示问题、安全答案和创建新用户按钮;将新用户注册信息添加到ASP.NET成员资格系统中。支持以下附加功能:输入注册用户的登录名和密码,并确认密码。输入用户的电子邮件地址,用于密码恢复时使用。输入获取用户密码时的提示问题应的答案。注册时的错误信息显示。提交到服务器端或者取消注册的按钮事件。,ASP.NET成员和角色管理,CreateUserWizard控件属性,ASP.NET成员和角色管理,示例,为创建用户帐户最终步骤定义模板,默认包含2个步骤模版,必需步骤,定义用户帐户创建的步骤,密码最短长度为7,其中必须包含至少1个非字母非数字字符,register.aspx,ASP.NET成员和角色管理,关键问题,用户的注册信息保存在何处?默认情况下,用户信息存储在SQLServerExpress的ASPNETDB.MDF数据库中(在App_Data文件夹中).ASPNETDB.MDF的aspnet_Membership表和apsnet_Users表用于存储站点成员资格和用户的相关信息。如何可视化管理网站的成员资格等配置?“网站”菜单“ASP.Net配置”提供可视化网站管理工具来管理网站的配置.配置包括设置和编辑用户和角色、站点的访问权限、应用程序配置以及指定存储网站所用的管理数据的位置和方式等。,如果没有就刷新App_Data文件夹,ASP.NET成员和角色管理,ASP.NET网站管理工具,“网站”菜单“ASP.Net配置”,ASP.NET成员和角色管理,【安全】标签页,设置和编辑用户、角色和对站点的访问权限,默认情况下,网站采用Windows身份验证(通过本地网络),如果用户将通过Internet访问网站,则需要使用Web窗体登录,站点将使用Forms身份验证,并根据存储在数据库中的用户信息来识别用户。,选择此项,ASP.NET成员和角色管理,以【Internet方式】验证身份,对网站的用户成员进行查找、编辑、删除、分配角色、是否禁止用户登陆网站以及创建新用户等。,管理用户,【返回】,ASP.NET成员和角色管理,7.1.2Login控件,Login控件:用户名、密码和登录按钮;支持以下附加功能:用于在两次会话之间保留登录信息的“下次记住我”复选框。将用户重定向到注册页的“注册新用户”链接。密码提示功能的“忘记密码”链接。用户名或密码必填提示。登录失败时出现的自定义错误文本。为那些在登录时遇到问题的用户提供的“帮助”链接。登录成功时发生的自定义操作。出现在登录窗体上的说明文本。在用户已登录到站点时隐藏登录控件的方法。,ASP.NET成员和角色管理,Login控件属性,ASP.NET成员和角色管理,示例,默认显示“下次记住我”复选框,【返回】,login.aspx,ASP.NET成员和角色管理,7.1.3PasswordRecovery控件,当忘记密码时,用户可根据注册时设定的问题和答案来获取登陆密码或生成新的密码。密码恢复后,PasswordRecovery控件将使用Internet电子邮件服务,并根据用户注册的电子邮件地址,将恢复的密码或新密码发送给用户。,ASP.NET成员和角色管理,PasswordRecovery控件3种视图,用户名视图:询问用户注册的用户名。问题视图:要求用户提供提示问题的答案。成功视图:告诉用户密码恢复或重置是否成功。,可以将3种视图分别转换为UserNameTemplate、QuestionTemplate和SuccessTemplate这3种模版.开发人员可以使用这些模版自定义PasswordRecovery控件外观。,ASP.NET成员和角色管理,视图转换为模版,/用户名模版/问题模版/成功模版,ASP.NET成员和角色管理,PasswordRecovery控件属性,ASP.NET成员和角色管理,示例,没有使用模版,recoverpassword.aspx,ASP.NET成员和角色管理,配置Internet电子邮件服务,“网站”菜单“ASP.Net配置”,SMTP的设置信息将在Web.config文件的标签中显示,应用程序如果需要能够发送电子邮件,就必须在服务器上安装和配置Internet信息服务(IIS)的简单邮件传输协议(SMTP)服务,否则将不能够向网站添加密码恢复功能。,ASP.NET成员和角色管理,配置SMTP,【返回】,Web.config,ASP.NET成员和角色管理,7.1.4ChangePassword控件,使得网站的用户能够更改其登录该网站时所使用的密码。该控件支持以下功能:在登录的情况下更改其登陆密码(可不显示用户名)。在未登录的情况下更改其登陆密码(需要显示用户名)。更改某用户帐户的密码,即使以另一用户的身份登录(需要显示用户名)。,ASP.NET成员和角色管理,ChangePassword控件3种视图,更改密码视图:当前密码和两次新密码确认。成功视图:显示已成功更改密码的确认信息。,可以将2种视图分别转换ChangePasswordTemplate和SuccessTemplate这2种模版,开发人员可以使用这些模版自定义ChangePassword外观。,ASP.NET成员和角色管理,视图转换为模版,/更改密码模版/成功模版,ASP.NET成员和角色管理,ChangePassword控件属性,如果允许用户在未登录的情况下更改其密码,必须将DisplayUserName属性设置为true,以在“更改密码”视图中显示UserName控件让用户提供其注册的用户名。,ASP.NET成员和角色管理,示例,显示UserName控件,【返回】,ChangePassword.aspx,ASP.NET成员和角色管理,7.1.5LoginName控件,用于显示登陆网站用户的名称.如果用户使用Forms身份验证登录,LoginName控件将显示该用户的登录名;如果使用集成Windows身份验证,LoginName控件将显示用户的Windows帐户名。,ASP.NET成员和角色管理,LoginName控件属性,ASP.NET成员和角色管理,示例home.aspx,1、网站使用默认的Windows身份验证,ASP.NET成员和角色管理,2、网站使用Form身份验证,没有登录时直接访问,成功登录后,【返回】,ASP.NET成员和角色管理,7.1.6LoginView控件,通过模板向匿名用户和登录用户显示不同的信息。3种模版:AnonymousTemplate:指定向未登录到网站的用户显示的模板。LoggedInTemplate:指定向已登录到网站,但不属于任何具有已定义模板的角色组的用户显示的默认模板。RoleGroups:指定向已经登录,并且是具有已定义角色组模板的角色组的成员的用户显示的模板。,ASP.NET成员和角色管理,示例,用户通过身份验证,用户没有通过身份验证,LoggedInTemplate模版添加一个LoginName控件,在AnonymousTemplate模板中添加一个登录控件(手工添加的),home.aspx,ASP.NET成员和角色管理,主要代码,您已登录,欢迎,【返回】,ASP.NET成员和角色管理,7.1.7LoginStatus控件,用于检测用户的身份验证状态。如果用户已经登陆,则LoginStatus控件提供从网站注销的链接。如果用户没有登陆,则LoginStatus控件提供登录网站的链接;,自动将登录链接到login.aspx,ASP.NET成员和角色管理,LoginStatus控件属性,ASP.NET成员和角色管理,LoginStatus演示新建一个apsx,匿名用户访问本页面,登录成功后又返回本页面,自动跳转login.aspx,配置Form身份验证,注销之后,login.aspx要存在,ASP.NET成员和角色管理,示例,利用LoginStatus控件和LoginName控件显示登陆成功后的用户状态信息。,如果“注销”,将显示AnonymousTemplate模版内容,home.aspx,ASP.NET成员和角色管理,主要代码,尚未登录,请登陆!,【返回】,ASP.NET成员和角色管理,7.2成员资格管理,登陆控件之所以能够如此简单地完成从用户注册到最终登陆成功这些过程,都是由于ASP.NET成员资格管理技术作为其底层支撑技术。,成员资格管理模型,ASP.NET成员资格支持以下功能:创建新用户和密码。将成员资格信息(如用户名和密码)存储在SQLServer或其他数据存储区中。对访问网站的用户进行身份验证。管理密码,包括创建、更改和恢复密码。公开经过身份验证的用户的唯一标识,将该标识可与ASP.NET个性化设置或角色管理系统集成。指定自定义成员资格提供程序。,ASP.NET成员和角色管理,备注,成员资格管理结构与三层架构之间相似之处:登录控件相当于界面表示层,主要负责应用程序的外观.成员资格管理API相当于业务逻辑层,利用它可实现不同应用需求.成员资格管理提供程序相当于数据访问层,负责与数据库交互,如果要将应用迁移到其他数据库,只需创建和应用自定义成员资格提供程序。,表示层,业务层,数据层,ASP.NET成员和角色管理,成员资格管理两个核心类,Membership类:提供常规成员资格功能,包括创建一个新用户、删除一个用户、用新信息来更新用户、返回用户列表、通过名称或电子邮件来查找用户、验证用户、获取联机用户人数、通过用户名或电子邮件地址来搜索用户。MembershipUser类:提供有关特定用户的信息,包括获取密码和密码问题、更改密码、确定用户是否联机、确定用户是否已经过验证、返回最后一次活动、登录和密码更改的日期、取消对用户的锁定。,类的属性和方法的编程,以及手工配置略,ASP.NET成员和角色管理,可视化配置成员资格示例,创建一个具有成员资格和用户登录功能的网站。主要功能包括:配置应用程序成员资格服务,以及如何定义用户。使用登录控件获取用户凭据和向登录用户显示信息。保护应用程序中的一页或多页,以便只有登录用户可以查看这些页。,基本方法:将这些受限制的页面单独放在一个文件夹内,然后建立访问受限文件夹的规则,如果未被授权的用户尝试查看受限页面,该用户将会看到错误消息或被重定向到指定的页面。,ASP.NET成员和角色管理,主要过程,新建一个名为testMembership的ASP.NET网站。为该网站新建一个命名为memberPages的文件夹。在memberPages文件夹中添加一个名为Member.aspx页面(网站成员专用页面)。将网站配置成“通过Internet访问网站”的Forms身份验证(“网站”菜单“ASP.Net配置”“安全”)。,Member.aspx内容:,ASP.NET成员和角色管理,5.修改Default.aspx页面,成员页面,ASP.NET成员和角色管理,7.测试一下网站:,直接运行Member.aspx成员专用页,结果发现可直接访问。运行Defalut.aspx页面,单击“成员页面”链接,结果发现可直接访问。,问题:如何使得匿名用户不能直接访问成员页面?,ASP.NET成员和角色管理,7.为memberPages文件夹配置成员访问规则,ASP.NET成员和角色管理,步骤2步骤4,步骤2,步骤3,数据存储区保持默认设置,步骤4,取消“为此网站启用角色”,ASP.NET成员和角色管理,步骤5步骤6,密码最短长度为7,其中必须包含至少1个非字母非数字字符,为memberPages文件夹添加访问规则:选择在memberPages文件夹.在“规则应用于”中选择“匿名用户”.在“权限”中选择“拒绝”.含义:拒绝匿名用户访问memberShip文件夹.最后单击“添加此规则”按钮。,步骤6,步骤5,要按此按钮,以上步骤可直接在启用Form身份验证之后使用创建访问规则来做,ASP.NET成员和角色管理,8.创建Login.aspx页面,在Login.aspx页面中添加一个Login控件:,ASP.NET成员和角色管理,直接运行Member.aspx成员专用页,结果发现自动跳转到Login.aspx登陆页面。运行Defal

温馨提示

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

评论

0/150

提交评论