收藏 分享(赏)

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

上传人:fmgc7290 文档编号:8526097 上传时间:2019-07-01 格式:PPT 页数:26 大小:91KB
下载 相关 举报
第18章  成员和角色管理技术.ppt_第1页
第1页 / 共26页
第18章  成员和角色管理技术.ppt_第2页
第2页 / 共26页
第18章  成员和角色管理技术.ppt_第3页
第3页 / 共26页
第18章  成员和角色管理技术.ppt_第4页
第4页 / 共26页
第18章  成员和角色管理技术.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、第18章 成员和角色管理技术,ASP.NET提供了一套用于管理用户和角色的API,并且基于这些API提供了一套服务器端控件,用来简化重复创建用户登录和管理机制的繁琐,这套API称为Membership API。Membership提供了一整套用于管理用户的方法和属性,当开发人员使用表单式身份验证,提供自定义的登录和用户管理时,使用这套API能够提供一致的程序模型。比如统一的添加删除用户、重置密码的方法。本章内容有: membership API的使用 使用Role API进行角色管理 ASP.NET提供的登录控件 角色和授权,18.1 ASP.NET Membership API简介,Memb

2、ership API是存储独立的,比如可以使用XML文件存储用户信息、也可以使用SQL Server或者是Oracle。Membership也可以与角色管理提供者紧密集成,为用户提供角色管理功能,此外还可以与ASP.NET的个性化服务相结合,为己登录的用户提供个性化管理功能。,18.2 使用Membership API,要使用ASP.NET Membership API和ASP.NET的安全控件,需要完成如下几步的设置: (1)在web.config文件中配置Form表单身份验证,拒绝匿名用户访问。 (2)设置成员数据存储,如果使用SQL Server,需要创建一系统的表和存储过程来存储成员数

3、据,这个步骤VS2010提供了可视化向导功能。 (3)配置数据库连接和成员提供者。 (4)使用ASP.NET网站管理工具或者是编程来创建用户。 (5)使用内置的登录控件创建登录页面,或者完全自定义登录页面。调用Membership类验证和管理用户凭证,授权用户。,18.2.1 配置表单身份验证,Membership API基于表单身份验证,因此首要的步骤是在web.config配置文件中配置表单身份验证,禁用匿名用户对网站的访问。在本书第4.3小节介绍web.config配置时曾经谈过,一个ASP.NET应用程序可以有不只有一个web.config文件,因此如果需要限制匿名用户对特定目录的访问

4、,可以在子web.config文件中配置禁止匿名访问。,18.2.2 创建Membership数据存储,当使用Membership API时,必须设定一个供成员提供者使用的数据存储,用户信息将存储在该数据存储中。默认情况下,ASP.NET使用SqlMembershipProvider作为成员提供者,并使用SQL Server 2005 Express作为数据库存储。,18.2.3 配置MembershipPrivder和数据库连接,创建好数据存储之后,需要配置web.config文件来配置成员资格,该配置只能在根web.config文件中。由于更改了数据库,需要重新定义一个指向该数据库的连接,

5、可以通过在web.config配置文件中添加配置节来指定。例如下面的配置代码指向到本机Northwind数据库的连接字符串。,18.2.4 创建和验证用户,本小节将演示如何使用ASP.NET网站管理工具创建并管理用户,并且创建一个简单的用户登录窗体来验证用户。在后面的章节将演示如何使用Membership类来创建和管理用户,使用Membership类,开发人员可以创建自定义的用户管理页面。,18.3 使用登录控件,本节将介绍使用ASP.NET内置的一套登录控件来创建用户界面窗体,这些控件依赖于Forms身份验证和Membership API基础,使用这些控件,将大大加速和统一开发人员创建登录窗

6、体的过程。,18.3.1 Login控件,Login控件提供了一个用户登录的窗口,这是一个组合控件,该控件提供了两个文本框允许用户输入用户名和密码。一个复选框指定是否在Cookies中保存一个持久身份验证信息以便下次登录时使用。当从工具箱的登录栏中拖动一个Login控件到窗体后,VS2010将生成如下所示的代码:,18.3.2 LoginStatus控件,LoginStatus控件是一个非常简单的控件,当用户成功登录时,该控件显示一个登出的链接,当用户还没有登录时则显示一个登录的链接。,18.3.3 LoginView控件,LoginView的控件是一个非常有用的控件,允许根据当前用户是否登录

7、来显示不同的信息,可以根据当前登录的用户的不同颜色显示不同的视图。该控件是一个模板控件,提供了两个模板,一个是AnonymousTempate,用于为匿名用户显示信息,一个是LoggedInTemplate,为己登录的用户显示信息。,18.3.4 PasswordRecovery控件,PasswordRecovery控件提供了让用户找回密码的能力,该控件查询用户的名称,然后自动显示密码提示问题。如果用户输入了正确的答案,用户密码将自动发送到用户指定的电子邮箱。,18.3.5 ChangePassword控件,ChangePassword控件允许用户更改其用户密码,该控件简单地查询用户名和老的密

8、码,然后获取用户输入的新密码,并且确认新密码。 如果用户己经登录,该控件将自隐藏用户名文本框 。,18.3.6 CreateUserWizard控件,CreateUserWizard是登录控件中功能最强大的控件,该控件提供了一个让用户进行注册的窗体,这是一个向导控件由两个默认步骤组成,一个用于获取通用的用户信息,另外一个显示一些确认信息。CreateUserWizard控件派生自Wizard控件,允许开发人员添加向导步骤。,18.4 使用Membership类,本节将登录控件的底层编程接口Membership类,使用Membership编程管理用户同样的非常简单。Membership提供了很多

9、属性和方法用于管理用户,每个用户是一个MembershipUser类,MembershipUser封装了管理单个用户的方法和属性。使用Membership类可以完成如下的工作: 创建新用户。 删除己有的用户。 更新己有的用户。 获取用户列表。 验证用户。,18.4.1 获取用户列表,为了获取用户列表信息,可以调用Membership.GetAllusers方法,该方法返回一个MembershipUserCollection类型的集合。下面演示一下如何获取用户信息并绑定到GridView控件中。,18.4.2 创建和编辑和删除用户,创建用户和编辑更新用户的过程非常简单,只需要使用Membersh

10、ip类的CreateUser和UpdateUser即可。,18.4.3 验证用户,最后介绍一个最常使用的方法ValidateUser,该方法用于验证用户名和密码。使用该方法需要为其传递两个参数,一个指定用户名,一个指定用户密码。,18.5 角色和授权,在ASP.NET中,可以为指定的用户分配角色,角色是一组用户的集合,这组用户具有指定的权限来完成特定的行为。比如限制某些用户访问某些Web页或者是资源,本节将介绍在ASP.NET中如何保护不同的资源,以及如何实现基于角色的安全。,18.5.1 URL授权,所谓的URL授权是指可以在web.config配置文件中指定哪些文件夹可以访问,哪些不可访问

11、。如果访问没有权限的URL时,页面将被重定向到login页面。,18.5.2 文件和文件夹访问授权,通常应用程序应该将需要授权的文件和一个ASP.NET的配置文件放在一个分离的文件夹, 然后将父目录的web.config文件中的元素设为空,在子目录的web.config中添加访问设置。当在子目录中添加web.config时,不应该包括特定的应用程序信息。,18.5.3 使用角色管理器,为了使ASP.NET应用程序更容易理解和维护,通常将用户进行分组,并分配一个角色,就如同在SQL Server用户管理中的角色一样。如果用户数成千上万的话,利用角色分组是非常有价值的。ASP.NET提供了Role

12、s API,可以支持定义用户角色。,18.5.4 使用Roles API配置基于角色的授权,角色API提供了一个功能允许以编程的方式创建新的角色,读取角色或者是从应用程序中删除角色。也可以为角色关联特定的用户或者是获取指定角色的用户。ASP.NET提供了一个Role类,可以完成这些功能。,18.6 小结,本章介绍了ASP.NET中的成员和角色管理技术,首先讨论了ASP.NET中的成员API。接下来介绍了如何配置身份验证,创建Membership所要存储方式以及配置Membership。本章18.3节讨论了ASP.NET提供的几个登录控件,对每个控件的使用方法以及常用属性进行了示例说明。18.4

13、节讨论了如何以编程的方式操作Membership类,讨论了如何获取用户列表,如何创建、编辑和删除用户以及如何验证用户。最后介绍了角色和授权,首先讨论了在web.config配置文件中如何配置授权,讨论了URL授权和对文件和文件夹的授权。接下来讨论了角色管理器,主要介绍了如何使用ASP.NET网站管理工具创建和管理角色。最后讨论了如何使用Roles类编程创建和管理用户角色。,18.7 常见面试题,18.7.1 什么是角色与成员资格?成员是指网站的用户。成员资格是指程序中提供了一套完整的用户管理系统,如用户注册、用户登录、用户找回密码等。通过这些成员资格程序,程序员也可以十分方便地进行用户管理系统

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报