第18章成员和角色管理技术.ppt

上传人:s****8 文档编号:67586536 上传时间:2022-12-25 格式:PPT 页数:26 大小:91KB
返回 下载 相关 举报
第18章成员和角色管理技术.ppt_第1页
第1页 / 共26页
第18章成员和角色管理技术.ppt_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《第18章成员和角色管理技术.ppt》由会员分享,可在线阅读,更多相关《第18章成员和角色管理技术.ppt(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第1818章章 成员和角色管理技术成员和角色管理技术 ASP.NET提供了一套用于管理用户和角色的提供了一套用于管理用户和角色的API,并,并且基于这些且基于这些API提供了一套服务器端控件,用来简化重复创提供了一套服务器端控件,用来简化重复创建用户登录和管理机制的繁琐,这套建用户登录和管理机制的繁琐,这套API称为称为Membership API。Membership提供了一整套用于管理用户的方法和属提供了一整套用于管理用户的方法和属性,当开发人员使用表单式身份验证,提供自定义的登录性,当开发人员使用表单式身份验证,提供自定义的登录和用户管理时,使用这套和用户管理时,使用这套API能够提供

2、一致的程序模型。比能够提供一致的程序模型。比如统一的添加删除用户、重置密码的方法。如统一的添加删除用户、重置密码的方法。本章内容有:本章内容有:membership API的使用的使用使用使用Role API进行角色管理进行角色管理ASP.NET提供的登录控件提供的登录控件角色和授权角色和授权18.1 ASP.NET Membership API18.1 ASP.NET Membership API简介简介 Membership API是存储独立的,比如可以使用是存储独立的,比如可以使用XML文文件存储用户信息、也可以使用件存储用户信息、也可以使用SQL Server或者是或者是Oracle。

3、Membership也可以与角色管理提供者紧密集成,为用也可以与角色管理提供者紧密集成,为用户提供角色管理功能,此外还可以与户提供角色管理功能,此外还可以与ASP.NET的个性化服务的个性化服务相结合,为己登录的用户提供个性化管理功能。相结合,为己登录的用户提供个性化管理功能。18.2 18.2 使用使用Membership APIMembership API 要使用要使用ASP.NET Membership API和和ASP.NET的安的安全控件,需要完成如下几步的设置:全控件,需要完成如下几步的设置:(1)在)在web.config文件中配置文件中配置Form表单身份验证,拒绝匿表单身份验

4、证,拒绝匿名用户访问。名用户访问。(2)设置成员数据存储,如果使用)设置成员数据存储,如果使用SQL Server,需要创建,需要创建一系统的表和存储过程来存储成员数据,这个步骤一系统的表和存储过程来存储成员数据,这个步骤VS2010提供了可视化向导功能。提供了可视化向导功能。(3)配置数据库连接和成员提供者。)配置数据库连接和成员提供者。(4)使用)使用ASP.NET网站管理工具或者是编程来创建用户。网站管理工具或者是编程来创建用户。(5)使用内置的登录控件创建登录页面,或者完全自定义)使用内置的登录控件创建登录页面,或者完全自定义登录页面。调用登录页面。调用Membership类验证和管理

5、用户凭证,授类验证和管理用户凭证,授权用户。权用户。18.2.1 18.2.1 配置表单身份验证配置表单身份验证 Membership API基于表单身份验证,因此首要的步基于表单身份验证,因此首要的步骤是在骤是在web.config配置文件中配置表单身份验证,禁用配置文件中配置表单身份验证,禁用匿名用户对网站的访问。在本书第匿名用户对网站的访问。在本书第4.3小节介绍小节介绍web.config配置时曾经谈过,一个配置时曾经谈过,一个ASP.NET应用程序可应用程序可以有不只有一个以有不只有一个web.config文件,因此如果需要限制匿文件,因此如果需要限制匿名用户对特定目录的访问,可以在

6、子名用户对特定目录的访问,可以在子web.config文件中文件中配置禁止匿名访问。配置禁止匿名访问。18.2.2 18.2.2 创建创建MembershipMembership数据存储数据存储 当使用当使用Membership API时,必须设定一个供成员提供时,必须设定一个供成员提供者使用的数据存储,用户信息将存储在该数据存储中。默认者使用的数据存储,用户信息将存储在该数据存储中。默认情况下,情况下,ASP.NET使用使用SqlMembershipProvider作为成员提作为成员提供者,并使用供者,并使用SQL Server 2005 Express作为数据库存储。作为数据库存储。18.

7、2.3 18.2.3 配置配置MembershipPrivderMembershipPrivder和数据库连接和数据库连接 创建好数据存储之后,需要配置创建好数据存储之后,需要配置web.config文件来文件来配置成员资格,该配置只能在根配置成员资格,该配置只能在根web.config文件中。文件中。由于更改了数据库,需要重新定义一个指向该数据由于更改了数据库,需要重新定义一个指向该数据库的连接,可以通过在库的连接,可以通过在web.config配置文件中添加配置文件中添加配置节来指定。例如下面的配置代配置节来指定。例如下面的配置代码指向到本机码指向到本机Northwind数据库的连接字符串

8、。数据库的连接字符串。18.2.4 18.2.4 创建和验证用户创建和验证用户 本小节将演示如何使用本小节将演示如何使用ASP.NET网站管理工具创建网站管理工具创建并管理用户,并且创建一个简单的用户登录窗体来验证用并管理用户,并且创建一个简单的用户登录窗体来验证用户。在后面的章节将演示如何使用户。在后面的章节将演示如何使用Membership类来创建类来创建和管理用户,使用和管理用户,使用Membership类,开发人员可以创建自类,开发人员可以创建自定义的用户管理页面。定义的用户管理页面。18.3 18.3 使用登录控件使用登录控件 本节将介绍使用本节将介绍使用ASP.NET内置的一套登录

9、控件来创内置的一套登录控件来创建用户界面窗体,这些控件依赖于建用户界面窗体,这些控件依赖于Forms身份验证和身份验证和Membership API基础,使用这些控件,将大大加速和统基础,使用这些控件,将大大加速和统一开发人员创建登录窗体的过程。一开发人员创建登录窗体的过程。18.3.1 Login18.3.1 Login控件控件 Login控件提供了一个用户登录的窗口,这是一个组合控控件提供了一个用户登录的窗口,这是一个组合控件,该控件提供了两个文本框允许用户输入用户名和密码。一件,该控件提供了两个文本框允许用户输入用户名和密码。一个复选框指定是否在个复选框指定是否在Cookies中保存一个

10、持久身份验证信息以中保存一个持久身份验证信息以便下次登录时使用。当从工具箱的登录栏中拖动一个便下次登录时使用。当从工具箱的登录栏中拖动一个Login控件控件到窗体后,到窗体后,VS2010将生成如下所示的代码:将生成如下所示的代码:18.3.2 18.3.2 LoginStatusLoginStatus控件控件 LoginStatus控件是一个非常简单的控件,当用户成控件是一个非常简单的控件,当用户成功登录时,该控件显示一个登出的链接,当用户还没有登功登录时,该控件显示一个登出的链接,当用户还没有登录时则显示一个登录的链接。录时则显示一个登录的链接。18.3.3 18.3.3 LoginVie

11、wLoginView控件控件 LoginView的控件是一个非常有用的控件,允许根的控件是一个非常有用的控件,允许根据当前用户是否登录来显示不同的信息,可以根据当前登据当前用户是否登录来显示不同的信息,可以根据当前登录的用户的不同颜色显示不同的视图。该控件是一个模板录的用户的不同颜色显示不同的视图。该控件是一个模板控件,提供了两个模板,一个是控件,提供了两个模板,一个是AnonymousTempate,用于为匿名用户显示信息,一个是用于为匿名用户显示信息,一个是LoggedInTemplate,为己登录的用户显示信息。为己登录的用户显示信息。18.3.4 18.3.4 PasswordReco

12、veryPasswordRecovery控件控件 PasswordRecovery控件提供了让用户找回密码的控件提供了让用户找回密码的能力,该控件查询用户的名称,然后自动显示密码提示问能力,该控件查询用户的名称,然后自动显示密码提示问题。如果用户输入了正确的答案,用户密码将自动发送到题。如果用户输入了正确的答案,用户密码将自动发送到用户指定的电子邮箱。用户指定的电子邮箱。18.3.5 18.3.5 ChangePasswordChangePassword控件控件 ChangePassword控件允许用户更改其用户密码,控件允许用户更改其用户密码,该控件简单地查询用户名和老的密码,然后获取用户输

13、入该控件简单地查询用户名和老的密码,然后获取用户输入的新密码,并且确认新密码。的新密码,并且确认新密码。如果用户己经登录,该控如果用户己经登录,该控件将自隐藏用户名文本框件将自隐藏用户名文本框。18.3.6 18.3.6 CreateUserWizardCreateUserWizard控件控件 CreateUserWizard是登录控件中功能最强大的控件,是登录控件中功能最强大的控件,该控件提供了一个让用户进行注册的窗体,这是一个向导该控件提供了一个让用户进行注册的窗体,这是一个向导控件由两个默认步骤组成,一个用于获取通用的用户信息,控件由两个默认步骤组成,一个用于获取通用的用户信息,另外一个

14、显示一些确认信息。另外一个显示一些确认信息。CreateUserWizard控件派控件派生自生自Wizard控件,允许开发人员添加向导步骤。控件,允许开发人员添加向导步骤。18.4 18.4 使用使用MembershipMembership类类 本节将登录控件的底层编程接口本节将登录控件的底层编程接口Membership类,类,使用使用Membership编程管理用户同样的非常简单。编程管理用户同样的非常简单。Membership提供了很多属性和方法用于管理用户,每个提供了很多属性和方法用于管理用户,每个用户是一个用户是一个MembershipUser类,类,MembershipUser封封装

15、了管理单个用户的方法和属性。使用装了管理单个用户的方法和属性。使用Membership类可类可以完成如下的工作:以完成如下的工作:创建新用户。创建新用户。删除己有的用户。删除己有的用户。更新己有的用户。更新己有的用户。获取用户列表。获取用户列表。验证用户。验证用户。18.4.1 18.4.1 获取用户列表获取用户列表 为了获取用户列表信息,可以调用为了获取用户列表信息,可以调用Membership.GetAllusers方法,该方法返回一个方法,该方法返回一个MembershipUserCollection类型的集合。下面演示一下类型的集合。下面演示一下如何获取用户信息并绑定到如何获取用户信息

16、并绑定到GridView控件中。控件中。18.4.2 18.4.2 创建和编辑和删除用户创建和编辑和删除用户 创建用户和编辑更新用户的过程非常简单,只需要创建用户和编辑更新用户的过程非常简单,只需要使用使用Membership类的类的CreateUser和和UpdateUser即可。即可。18.4.3 18.4.3 验证用户验证用户 最后介绍一个最常使用的方法最后介绍一个最常使用的方法ValidateUser,该方,该方法用于验证用户名和密码。使用该方法需要为其传递两个法用于验证用户名和密码。使用该方法需要为其传递两个参数,一个指定用户名,一个指定用户密码。参数,一个指定用户名,一个指定用户密

17、码。18.5 18.5 角色和授权角色和授权 在在ASP.NET中,可以为指定的用户分配角色,角色中,可以为指定的用户分配角色,角色是一组用户的集合,这组用户具有指定的权限来完成特定是一组用户的集合,这组用户具有指定的权限来完成特定的行为。比如限制某些用户访问某些的行为。比如限制某些用户访问某些Web页或者是资源,页或者是资源,本节将介绍在本节将介绍在ASP.NET中如何保护不同的资源,以及如中如何保护不同的资源,以及如何实现基于角色的安全。何实现基于角色的安全。18.5.1 URL18.5.1 URL授权授权 所谓的所谓的URL授权是指可以在授权是指可以在web.config配置文件中配置文

18、件中指定哪些文件夹可以访问,哪些不可访问。如果访问没有指定哪些文件夹可以访问,哪些不可访问。如果访问没有权限的权限的URL时,页面将被重定向到时,页面将被重定向到login页面。页面。18.5.2 18.5.2 文件和文件夹访问授权文件和文件夹访问授权 通常应用程序应该将需要授权的文件和一个通常应用程序应该将需要授权的文件和一个ASP.NET的配置文件放在一个分离的文件夹,的配置文件放在一个分离的文件夹,然后将父目录的然后将父目录的web.config文件中的文件中的元素设为空,在子目元素设为空,在子目录的录的web.config中添加访问设置。当在子目录中添加中添加访问设置。当在子目录中添加

19、web.config时,不应该包括特定的应用程序信息。时,不应该包括特定的应用程序信息。18.5.3 18.5.3 使用角色管理器使用角色管理器 为了使为了使ASP.NET应用程序更容易理解和维护,通常应用程序更容易理解和维护,通常将用户进行分组,并分配一个角色,就如同在将用户进行分组,并分配一个角色,就如同在SQL Server用户管理中的角色一样。如果用户数成千上万的用户管理中的角色一样。如果用户数成千上万的话,利用角色分组是非常有价值的。话,利用角色分组是非常有价值的。ASP.NET提供了提供了Roles API,可以支持定义用户角色。,可以支持定义用户角色。18.5.4 18.5.4

20、使用使用Roles APIRoles API配置基于角色的授权配置基于角色的授权 角色角色API提供了一个功能允许以编程的方式创建新提供了一个功能允许以编程的方式创建新的角色,读取角色或者是从应用程序中删除角色。也可以的角色,读取角色或者是从应用程序中删除角色。也可以为角色关联特定的用户或者是获取指定角色的用户。为角色关联特定的用户或者是获取指定角色的用户。ASP.NET提供了一个提供了一个Role类,可以完成这些功能。类,可以完成这些功能。18.6 18.6 小结小结 本章介绍了本章介绍了ASP.NET中的成员和角色管理技术,首中的成员和角色管理技术,首先讨论了先讨论了ASP.NET中的成员

21、中的成员API。接下来介绍了如何配置。接下来介绍了如何配置身份验证,创建身份验证,创建Membership所要存储方式以及配置所要存储方式以及配置Membership。本章本章18.3节讨论了节讨论了ASP.NET提供的几个登录控件,提供的几个登录控件,对每个控件的使用方法以及常用属性进行了示例说明。对每个控件的使用方法以及常用属性进行了示例说明。18.4节讨论了如何以编程的方式操作节讨论了如何以编程的方式操作Membership类,讨类,讨论了如何获取用户列表,如何创建、编辑和删除用户以及论了如何获取用户列表,如何创建、编辑和删除用户以及如何验证用户。如何验证用户。最后介绍了角色和授权,首先

22、讨论了在最后介绍了角色和授权,首先讨论了在web.config配置文件中如何配置授权,讨论了配置文件中如何配置授权,讨论了URL授权和对文件和授权和对文件和文件夹的授权。接下来讨论了角色管理器,主要介绍了如文件夹的授权。接下来讨论了角色管理器,主要介绍了如何使用何使用ASP.NET网站管理工具创建和管理角色。最后讨网站管理工具创建和管理角色。最后讨论了如何使用论了如何使用Roles类编程创建和管理用户角色。类编程创建和管理用户角色。18.7 18.7 常见面试题常见面试题18.7.1 什么是角色与成员资格?什么是角色与成员资格?成员是指网站的用户。成员资格是指程序中提供了成员是指网站的用户。成

23、员资格是指程序中提供了一套完整的用户管理系统,如用户注册、用户登录、用户一套完整的用户管理系统,如用户注册、用户登录、用户找回密码等。通过这些成员资格程序,程序员也可以十分找回密码等。通过这些成员资格程序,程序员也可以十分方便地进行用户管理系统。方便地进行用户管理系统。角色是网站赋予的用户管理权限。这里的角色与角色是网站赋予的用户管理权限。这里的角色与Windows中的组十分相似,例如,中的组十分相似,例如,Administrators组是组是Windows中是管理员组,在该组的用户都具有管理员的中是管理员组,在该组的用户都具有管理员的资格。网络中有许多用户,如果能角色进行分组管理,根资格。网

24、络中有许多用户,如果能角色进行分组管理,根据每一组的用户进行分配权限管理,可以大大简单用户的据每一组的用户进行分配权限管理,可以大大简单用户的管理过程。管理过程。18.7.2 18.7.2 如何设置网站中的权限访问问题。如何设置网站中的权限访问问题。可通过可通过web.config来配置。在来配置。在ASP.NET中,可以为中,可以为指定的用户分配角色,角色是一组用户的集合,这组用户指定的用户分配角色,角色是一组用户的集合,这组用户具有指定的权限来完成特定的行为。比如限制某些用户访具有指定的权限来完成特定的行为。比如限制某些用户访问某些问某些Web页或者是资源,本章第页或者是资源,本章第18.5节介绍了在节介绍了在ASP.NET中如何保护不同的资源,以及如何实现基于角中如何保护不同的资源,以及如何实现基于角色的安全。色的安全。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁