《用户和角色管理.ppt》由会员分享,可在线阅读,更多相关《用户和角色管理.ppt(77页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 第第9章章 用户和角色管理用户和角色管理1Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 本章要点:本章要点:了解了解了解了解WindowsWindows验证;掌握验证;掌握验证;掌握验证;掌握FormsForms验证验证验证验证掌握网站管理工具的应用掌握网站管理工具的应用掌握网站管理工具的应用掌握网站管理工具的应用掌握登录系列控件的应用掌握登录系列控件的应用掌握登录系列控件的应用掌握登录系列控件的应用掌握常用的掌握常用的掌握常用的掌握常用的MembershipMembership和和和和RolesRoles类的方
2、法类的方法类的方法类的方法2Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 目录目录9.1 9.1 身份验证和授权身份验证和授权身份验证和授权身份验证和授权9.1.1 Windows验证验证9.1.2 Forms验证验证9.2 9.2 成员资格和角色管理概述成员资格和角色管理概述成员资格和角色管理概述成员资格和角色管理概述9.2.1 成员资格管理成员资格管理9.2.2 角色管理角色管理9.3 9.3 利用网站管理工具实现成员资格和角色管利用网站管理工具实现成员资格和角色管利用网站管理工具实现成员资格和角色管利用网站管理工具实现成员资格和角色管理理理理3Web 程序设计程序设计A
3、SP.NET实用网站开发实用网站开发 目录目录9.4 9.4 利用登录系列控件建立安全页利用登录系列控件建立安全页利用登录系列控件建立安全页利用登录系列控件建立安全页9.4.1 Login控件控件9.4.2 CreateUserWizard控件控件9.4.3 LoginName控件控件9.4.4 LoginStatus控件控件9.4.5 LoginView控件控件9.4.6 ChangePassword控件控件9.4.7 PasswordRecovery控件控件9.5 9.5 调用调用调用调用MembershipMembership类和类和类和类和RolesRoles类进行用户角色管理类进行用
4、户角色管理类进行用户角色管理类进行用户角色管理9.6 9.6 小结小结小结小结4Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.1 身份验证和授权身份验证和授权身份验证:要告知服务器发出请求的用户是谁。身份验证:要告知服务器发出请求的用户是谁。身份验证:要告知服务器发出请求的用户是谁。身份验证:要告知服务器发出请求的用户是谁。授权:需确定用户能访问哪些资源。授权:需确定用户能访问哪些资源。授权:需确定用户能访问哪些资源。授权:需确定用户能访问哪些资源。身身身身份份份份验验验验证证证证方方方方式式式式:WindowsWindows验验验验证证证证、PassportPasspo
5、rt验验验验证证证证、NoneNone验证和验证和验证和验证和FormsForms验证。验证。验证。验证。5Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.1.1 Windows验证验证基于基于基于基于WindowsWindows操作系统用户和用户组,适合于操作系统用户和用户组,适合于操作系统用户和用户组,适合于操作系统用户和用户组,适合于企业内部站点使用。企业内部站点使用。企业内部站点使用。企业内部站点使用。要运用要运用要运用要运用WindowsWindows验证,服务器端和客户端都必验证,服务器端和客户端都必验证,服务器端和客户端都必验证,服务器端和客户端都必须是须是须
6、是须是WindowsWindows操作系统,且操作系统,且操作系统,且操作系统,且WebWeb服务器的硬盘服务器的硬盘服务器的硬盘服务器的硬盘格式必须是格式必须是格式必须是格式必须是NTFSNTFS。6Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.1.1 Windows验证(续)验证(续)WindowsWindows验验验验证证证证方方方方式式式式依依依依靠靠靠靠IISIIS来来来来执执执执行行行行所所所所需需需需的的的的用用用用户户户户验验验验证证证证,包包包包括括括括匿匿匿匿名名名名身身身身份份份份验验验验证证证证、集集集集成成成成WindowsWindows身身身身
7、份份份份验验验验证证证证、WindowsWindows域域域域服服服服务务务务器器器器的的的的摘摘摘摘要要要要身身身身份份份份验验验验证证证证和和和和基基基基本本本本身份验证等。身份验证等。身份验证等。身份验证等。访访访访问问问问WindowsIdentityWindowsIdentity和和和和WindowsPrincipalWindowsPrincipal对对对对象象象象可获取验证用户的信息。可获取验证用户的信息。可获取验证用户的信息。可获取验证用户的信息。需需需需配配配配合合合合使使使使用用用用WindowsWindows的的的的NTFSNTFS访访访访问问问问控控控控制制制制列列列列表
8、表表表(ACLACL)。)。)。)。7Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 配置网站配置网站Windows验证验证 右击某站点右击某站点右击某站点右击某站点“属性属性属性属性”“”“目录安全性目录安全性目录安全性目录安全性”单击单击单击单击“身身身身份验证和访问控制份验证和访问控制份验证和访问控制份验证和访问控制”中中中中“编辑编辑编辑编辑”8Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 配置网站配置网站Windows验证(续)验证(续)在在在在WindowsWindows中新建一个中新建一个中新建一个中新建一个用户组,例如用户组,例如用户组,例如用
9、户组,例如“Website”Website”。在在在在“Website”Website”组中创建若组中创建若组中创建若组中创建若干用户。干用户。干用户。干用户。设置站点对应文件夹的设置站点对应文件夹的设置站点对应文件夹的设置站点对应文件夹的授权。授权。授权。授权。9Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 配置网站配置网站Windows验证(续)验证(续)配置站点的配置站点的配置站点的配置站点的web.configweb.config文件,代码如下:文件,代码如下:文件,代码如下:文件,代码如下:10Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 配置网站
10、配置网站Windows验证(续)验证(续)在联网的另一台计算在联网的另一台计算在联网的另一台计算在联网的另一台计算机访问站点中网页时,机访问站点中网页时,机访问站点中网页时,机访问站点中网页时,要求输入用户名和密要求输入用户名和密要求输入用户名和密要求输入用户名和密码。通过身份验证后码。通过身份验证后码。通过身份验证后码。通过身份验证后才能访问相应的网页。才能访问相应的网页。才能访问相应的网页。才能访问相应的网页。11Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.1.2 Forms验证验证适合于适合于适合于适合于InternetInternet站点,是多数站点,是多数站点
11、,是多数站点,是多数WebWeb应用程序使应用程序使应用程序使应用程序使用的方式。用的方式。用的方式。用的方式。FormsForms验证本身并不能进行验证,只是使用自验证本身并不能进行验证,只是使用自验证本身并不能进行验证,只是使用自验证本身并不能进行验证,只是使用自定义的用户界面收集用户信息,再通过自定义定义的用户界面收集用户信息,再通过自定义定义的用户界面收集用户信息,再通过自定义定义的用户界面收集用户信息,再通过自定义代码实现验证。代码实现验证。代码实现验证。代码实现验证。在使用时,需配合使用在使用时,需配合使用在使用时,需配合使用在使用时,需配合使用ASP.NETASP.NET成员资格
12、和角成员资格和角成员资格和角成员资格和角色管理。其中,成员资格用于管理用户,角色色管理。其中,成员资格用于管理用户,角色色管理。其中,成员资格用于管理用户,角色色管理。其中,成员资格用于管理用户,角色用于管理授权。用于管理授权。用于管理授权。用于管理授权。12Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.1.2 Forms验证验证(续)(续)用户利用用户利用用户利用用户利用FormsForms验证访问受保护资源步骤验证访问受保护资源步骤验证访问受保护资源步骤验证访问受保护资源步骤用户请求受保护的网页,如用户请求受保护的网页,如Default.aspx;ASP.NET调用调
13、用Forms验证服务获取用户请求,并检验证服务获取用户请求,并检查其中是否包含用户凭据;查其中是否包含用户凭据;如果未发现任何用户凭据,将自动转向用户登录页如果未发现任何用户凭据,将自动转向用户登录页面,如面,如Login.aspx;初次请求的网页地址初次请求的网页地址Default.aspx将以将以ReturnUrl值值(ReturnUrl是是QueryString中的键值对)的形式,中的键值对)的形式,附加在登录网页附加在登录网页Login.aspx的地址后。当用户通过的地址后。当用户通过验证后,验证后,ASP.NET将根据将根据ReturnUrl值把页面重定值把页面重定向到向到Defau
14、lt.aspx。13Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.1.2 Forms验证验证(续)(续)FormsForms验证的配置验证的配置验证的配置验证的配置 forms name=Hstear timeout=40/14Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 配置节属性说明表配置节属性说明表 属性说明name指定用于身份验证的HTTP Cookie名。默认值为.ASPXAUTH。loginUrl指定在未找到身份验证信息时需重定向的页面地址,通常是登录页面地址。默认值Login.aspx。path指定身份验证Cookie存放路径。默认值为“/
15、”。protection指定身份地址Cookie使用的加密类型。15Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 配置节属性说明表(续)配置节属性说明表(续)requireSSL逻辑值,指定是否需要SSL连接传输身份验证Cookie。slidingExpiration逻辑值,指定是否使用弹性时间。timeout指定身份验证Cookie的过期时间。defaultUrl指定用户通过身份验证后需重定向的页面地址。默认值为Default.aspx。cookieless指定是否使用Cookie以及使用Cookie的方式。16Web 程序设计程序设计ASP.NET实用网站开发实用网站开发
16、 9.1.2 Forms验证验证(续)(续)FormsAuthenticationFormsAuthentication类:该类提供的属性与类:该类提供的属性与类:该类提供的属性与类:该类提供的属性与配置节中的属性有对应关系,可以通配置节中的属性有对应关系,可以通配置节中的属性有对应关系,可以通配置节中的属性有对应关系,可以通过访问类的属性获取过访问类的属性获取过访问类的属性获取过访问类的属性获取配置节中的属性配置节中的属性配置节中的属性配置节中的属性值。还有,该类提供的方法能够管理值。还有,该类提供的方法能够管理值。还有,该类提供的方法能够管理值。还有,该类提供的方法能够管理FormsFor
17、ms验验验验证,如证,如证,如证,如RedirectFromLoginPage()RedirectFromLoginPage()将经过身份验将经过身份验将经过身份验将经过身份验证的用户重定向到最初请求的证的用户重定向到最初请求的证的用户重定向到最初请求的证的用户重定向到最初请求的URLURL;RedirectToLoginPageRedirectToLoginPage()()将未经过身份验证的用户重定向到登录页面将未经过身份验证的用户重定向到登录页面将未经过身份验证的用户重定向到登录页面将未经过身份验证的用户重定向到登录页面等。等。等。等。17Web 程序设计程序设计ASP.NET实用网站开发
18、实用网站开发 9.2 成员资格和角色管理概述成员资格和角色管理概述成员资格管理功能与登录控件和成员资格管理功能与登录控件和成员资格管理功能与登录控件和成员资格管理功能与登录控件和FormsForms验证结验证结验证结验证结合使用,可以提供完善的用户管理功能。合使用,可以提供完善的用户管理功能。合使用,可以提供完善的用户管理功能。合使用,可以提供完善的用户管理功能。配合使用角色管理,可以较好地提供授权管理配合使用角色管理,可以较好地提供授权管理配合使用角色管理,可以较好地提供授权管理配合使用角色管理,可以较好地提供授权管理功能。功能。功能。功能。18Web 程序设计程序设计ASP.NET实用网站
19、开发实用网站开发 9.2.1 成员资格管理成员资格管理能创建和管理用户信息。能创建和管理用户信息。能创建和管理用户信息。能创建和管理用户信息。提供的类能方便地验证用户提交的用户名和密提供的类能方便地验证用户提交的用户名和密提供的类能方便地验证用户提交的用户名和密提供的类能方便地验证用户提交的用户名和密码。码。码。码。ASP.NET 3.5ASP.NET 3.5还实现了成员资格管理与个性化还实现了成员资格管理与个性化还实现了成员资格管理与个性化还实现了成员资格管理与个性化用户配置、角色管理等功能的集成。用户配置、角色管理等功能的集成。用户配置、角色管理等功能的集成。用户配置、角色管理等功能的集成
20、。19Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2.1 成员资格管理(续)成员资格管理(续)基于提供程序模型构建基于提供程序模型构建基于提供程序模型构建基于提供程序模型构建首先,开发人员使用登录系列控件构建获取用户信首先,开发人员使用登录系列控件构建获取用户信息的界面。息的界面。其次,由登录系列控件调用成员资格管理类中实现其次,由登录系列控件调用成员资格管理类中实现验证的方法。验证的方法。最后,成员资格管理类中的对象将与成员管理提供最后,成员资格管理类中的对象将与成员管理提供程序交互,要求其对成员管理数据库进行操作。程序交互,要求其对成员管理数据库进行操作。20Web
21、 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2.1 成员资格管理(续)成员资格管理(续)成员管理数据库以成员管理数据库以成员管理数据库以成员管理数据库以ASPNETDB.mdfASPNETDB.mdf存储在存储在存储在存储在App_DataApp_Data文件夹下。文件夹下。文件夹下。文件夹下。与成员资格管理密切相关的数据表是与成员资格管理密切相关的数据表是与成员资格管理密切相关的数据表是与成员资格管理密切相关的数据表是aspnet_Usersaspnet_Users和和和和aspnet_Membershipaspnet_Membership。表。表。表。表aspnet_Us
22、ersaspnet_Users存储了用户的部分信息,而存储了用户的部分信息,而存储了用户的部分信息,而存储了用户的部分信息,而aspnet_Membershipaspnet_Membership存储了用户的详细信息。存储了用户的详细信息。存储了用户的详细信息。存储了用户的详细信息。成员资格管理的配置由成员资格管理的配置由成员资格管理的配置由成员资格管理的配置由web.configweb.config中中中中配配配配置节实现。置节实现。置节实现。置节实现。21Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 的的配置节属性说明表配置节属性说明表 属性说明name指定成员资格提供程序
23、的名称。type指定成员资格提供程序的类型。connectionStringName 指定成员资格提供程序使用的连接数据库字符串。applicationName指定使用成员数据库的Web应用程序名称。enablePasswordRetrieval逻辑值,指定是否支持取回密码功能。默认值为false。22Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 的的配置节属性说明表(续)配置节属性说明表(续)enablePasswordReset逻辑值,指定是否支持重置密码功能。默认值为true。requiresQuestionAndAnswer逻辑值,指定当重置或取回密码时,是否需要输入
24、密码提示问题。默认值为true。requiresUniqueEmail逻辑值,指定存储在数据库中的电子邮件是否唯一。默认值为false。passwordFormat指定密码的存储格式。默认值为Hashed。23Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 的的配置节属性说明表(续)配置节属性说明表(续)maxInvalidPasswordAttempts指定允许密码或密码提示问题连续不成功测试的最多次数。默认值为5。passwordAttemptWindow指定跟踪失败的尝试所用的时间。默认值为10分钟。minRequiredPasswordLength指定密码中必须包含字符
25、的最小数量,值范围在1128之间。默认值为1。minRequiredNonalphanumericCharacters指定密码中必须包含的特殊字符的最小数量。默认值为1。passwordStrengthRegularExpression指定用于密码的正则表达式。24Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 连接字符串存放位置说明连接字符串存放位置说明在在在在SqlDataSourceSqlDataSource控件的定义中控件的定义中控件的定义中控件的定义中asp:SqlDataSource ID=SqlDataSource1 runat=server SelectComm
26、and=SELECT*FROM Category 25Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2.1 成员资格管理(续)成员资格管理(续)MembershipMembership类:主要实现用户验证,创建、类:主要实现用户验证,创建、类:主要实现用户验证,创建、类:主要实现用户验证,创建、管理以及获取或设置管理以及获取或设置管理以及获取或设置管理以及获取或设置配置节中配置节中配置节中配置节中相关的属性值。相关的属性值。相关的属性值。相关的属性值。MembershipUserMembershipUser类:主要获取或设置用户信类:主要获取或设置用户信类:主要获取或设置
27、用户信类:主要获取或设置用户信息功能。息功能。息功能。息功能。26Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2.2 角色管理角色管理角角角角色色色色是是是是指指指指具具具具有有有有相相相相同同同同权权权权限限限限的的的的一一一一类类类类用用用用户户户户或或或或用用用用户户户户组组组组,与授权有密切关系。与授权有密切关系。与授权有密切关系。与授权有密切关系。基基基基于于于于角角角角色色色色的的的的授授授授权权权权方方方方式式式式将将将将访访访访问问问问权权权权限限限限与与与与角角角角色色色色关关关关联联联联,然然然然后后后后,角角角角色色色色再再再再与与与与用用用用户户
28、户户关关关关联联联联。管管管管理理理理人人人人员员员员授授授授权权权权时时时时,是为角色授权,其影响的是角色中的多个用户。是为角色授权,其影响的是角色中的多个用户。是为角色授权,其影响的是角色中的多个用户。是为角色授权,其影响的是角色中的多个用户。在在在在实实实实际际际际使使使使用用用用时时时时,需需需需要要要要根根根根据据据据不不不不同同同同角角角角色色色色对对对对网网网网页页页页进进进进行行行行分分分分类类类类,并并并并存存存存放放放放到到到到不不不不同同同同的的的的文文文文件件件件夹夹夹夹中中中中。然然然然后后后后,再再再再利利利利用用用用网网网网站站站站管管管管理理理理工工工工具具具具
29、对对对对不不不不同同同同文文文文件件件件夹夹夹夹设设设设置置置置不不不不同同同同的的的的访访访访问问问问规则实现角色授权。规则实现角色授权。规则实现角色授权。规则实现角色授权。27Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2.2 角色管理角色管理(续)(续)ASP.NET 3.5ASP.NET 3.5角色管理能方便地创建和管理角角色管理能方便地创建和管理角角色管理能方便地创建和管理角角色管理能方便地创建和管理角色信息,如创建新角色、为用户分配角色、删色信息,如创建新角色、为用户分配角色、删色信息,如创建新角色、为用户分配角色、删色信息,如创建新角色、为用户分配角色、删
30、除用户角色、获取角色信息等。除用户角色、获取角色信息等。除用户角色、获取角色信息等。除用户角色、获取角色信息等。能支持使用能支持使用能支持使用能支持使用CookieCookie缓存角色信息,以避免频繁缓存角色信息,以避免频繁缓存角色信息,以避免频繁缓存角色信息,以避免频繁访问数据源。访问数据源。访问数据源。访问数据源。28Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2.2 角色管理角色管理(续)(续)角角角角色色色色管管管管理理理理与与与与成成成成员员员员资资资资格格格格管管管管理理理理一一一一样样样样基基基基于于于于提提提提供供供供程程程程序序序序模模模模型构建。型构
31、建。型构建。型构建。首首先先利利用用登登录录系系列列控控件件实实现现用用户户登登录录、角角色色管管理理等等用户界面。用户界面。然后,调用角色管理对象实现角色管理功能。然后,调用角色管理对象实现角色管理功能。最后将角色信息存储到数据库。最后将角色信息存储到数据库。29Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2.2 角色管理角色管理(续)(续)角角角角色色色色管管管管理理理理信信信信息息息息存存存存储储储储于于于于ASPNETDB.mdfASPNETDB.mdf,其其其其中中中中与与与与角角角角色色色色有有有有密密密密切切切切关关关关系系系系的的的的数数数数据据据据表表
32、表表是是是是aspnet_Rolesaspnet_Roles和和和和aspnet_UsersInRolesaspnet_UsersInRoles。aspnet_Rolesaspnet_Roles存存存存 储储储储 角角角角 色色色色信信信信息息息息,而而而而aspnet_UsersInRolesaspnet_UsersInRoles存存存存储储储储用用用用户户户户和和和和角角角角色色色色的联系信息。的联系信息。的联系信息。的联系信息。角角角角 色色色色 管管管管 理理理理 的的的的 配配配配 置置置置 通通通通 过过过过 web.configweb.config中中中中 的的的的配置节实现配置
33、节实现配置节实现配置节实现 30Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2.2 角色管理角色管理(续)(续)RolesRoles类类类类:访访访访 问问问问 其其其其 属属属属 性性性性 能能能能 获获获获 取取取取 或或或或 设设设设 置置置置配配配配置置置置节节节节中中中中的的的的属属属属性性性性值值值值,调调调调用用用用其其其其方方方方法可创建新角色、删除角色等。法可创建新角色、删除角色等。法可创建新角色、删除角色等。法可创建新角色、删除角色等。31Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.3 9.3 利用网站管理工具实现成员资格和角
34、色管理利用网站管理工具实现成员资格和角色管理利用网站管理工具实现成员资格和角色管理利用网站管理工具实现成员资格和角色管理 32Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 安全设置向导安全设置向导 33Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 安全设置向导(续)安全设置向导(续)34Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 安全设置向导(续)安全设置向导(续)35Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 安全设置向导(续)安全设置向导(续)36Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 安全
35、设置向导(续)安全设置向导(续)37Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 访问规则说明访问规则说明 38Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4 利用登录系列控件建立安全页利用登录系列控件建立安全页 任何利用身份验证来实现用户登录,并由此访任何利用身份验证来实现用户登录,并由此访任何利用身份验证来实现用户登录,并由此访任何利用身份验证来实现用户登录,并由此访问受保护资源的问受保护资源的问受保护资源的问受保护资源的WebWeb站点,都需要一系列注册站点,都需要一系列注册站点,都需要一系列注册站点,都需要一系列注册登录界面来完成用户身份验证等
36、任务。登录界面来完成用户身份验证等任务。登录界面来完成用户身份验证等任务。登录界面来完成用户身份验证等任务。经常需要的功能包括用户登录、创建新用户、经常需要的功能包括用户登录、创建新用户、经常需要的功能包括用户登录、创建新用户、经常需要的功能包括用户登录、创建新用户、显示登录状态、显示登录用户名、更新或重置显示登录状态、显示登录用户名、更新或重置显示登录状态、显示登录用户名、更新或重置显示登录状态、显示登录用户名、更新或重置密码等。密码等。密码等。密码等。39Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.1 Login控件控件用于实现登录界面,允许自定义界面外观,与用
37、于实现登录界面,允许自定义界面外观,与用于实现登录界面,允许自定义界面外观,与用于实现登录界面,允许自定义界面外观,与成员资格管理紧密集成。成员资格管理紧密集成。成员资格管理紧密集成。成员资格管理紧密集成。使用时,主要通过设置属性而不需要编写代码使用时,主要通过设置属性而不需要编写代码使用时,主要通过设置属性而不需要编写代码使用时,主要通过设置属性而不需要编写代码就能够实现登录验证功能。就能够实现登录验证功能。就能够实现登录验证功能。就能够实现登录验证功能。实质是一个实质是一个实质是一个实质是一个“用户控件用户控件用户控件用户控件”,通常必须包括:用于,通常必须包括:用于,通常必须包括:用于,
38、通常必须包括:用于输入用户名的文本框、用于输入密码的文本框输入用户名的文本框、用于输入密码的文本框输入用户名的文本框、用于输入密码的文本框输入用户名的文本框、用于输入密码的文本框和用于提交用户凭证的按钮。和用于提交用户凭证的按钮。和用于提交用户凭证的按钮。和用于提交用户凭证的按钮。40Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.1 Login控件(续)控件(续)有很强的自定义扩展能力,主要包括:自定义有很强的自定义扩展能力,主要包括:自定义有很强的自定义扩展能力,主要包括:自定义有很强的自定义扩展能力,主要包括:自定义找回密码页面的提示文字和超链接、自定义创找回密码
39、页面的提示文字和超链接、自定义创找回密码页面的提示文字和超链接、自定义创找回密码页面的提示文字和超链接、自定义创建新用户页面的提示文字和超链接、自定义建新用户页面的提示文字和超链接、自定义建新用户页面的提示文字和超链接、自定义建新用户页面的提示文字和超链接、自定义“下次登录时记住下次登录时记住下次登录时记住下次登录时记住”的的的的CheckBoxCheckBox控件、自定义模控件、自定义模控件、自定义模控件、自定义模板等等。板等等。板等等。板等等。asp:Login ID=Login1 runat=server 41Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 Login控件
40、的主要属性表控件的主要属性表属性说明 CreateUserText指定“创建新用户”链接显示的文本。CreateUserUrl指定“创建新用户”链接的URL。DestinationPageUrl指定用户登录成功时需重定向的URL。DisplayRememberMe逻辑值,指定是否显示“记住我”复选框。默认值为True。FailureAction指定登录失败时采取的操作。值RedirectToLoginPage表示重定向到自定义用户登录页面;值Refresh表示刷新页面并显示错误提示信息。42Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 Login控件的主要属性表(续)控件的主
41、要属性表(续)Password获取用户提交的密码。PasswordRecoveryText指定“密码恢复”链接显示的文本。PasswordRecoveryUrl指定“密码恢复”链接的URL。RemberMeSet指定是否选中“记住我”复选框。UserName获取或设置用户名文本框的内容。VisibleWhenLoggedIn逻辑值,指定用户登录成功后Login控件是否可见。默认值为True。43Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 实例实例9-1 建立登录页面建立登录页面当输入用户名和密码后,单击当输入用户名和密码后,单击当输入用户名和密码后,单击当输入用户名和密码后
42、,单击“登录登录登录登录”按钮,若按钮,若按钮,若按钮,若用户名和密码正确则链接到用户名和密码正确则链接到用户名和密码正确则链接到用户名和密码正确则链接到Default.aspxDefault.aspx,否则,否则,否则,否则给出错误提示信息;单击给出错误提示信息;单击给出错误提示信息;单击给出错误提示信息;单击“注册新用户注册新用户注册新用户注册新用户”链接到链接到链接到链接到NewUser.aspxNewUser.aspx;单击;单击;单击;单击“忘记密码了?忘记密码了?忘记密码了?忘记密码了?”链接到链接到链接到链接到GetPwd.aspxGetPwd.aspx。源代码:源代码:源代码:
43、源代码:Login.aspx Login.aspx 44Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.2 CreateUserWizard控件控件实质是一个专用于创建新用户的实质是一个专用于创建新用户的实质是一个专用于创建新用户的实质是一个专用于创建新用户的WizardWizard控件,控件,控件,控件,与成员资格管理紧密集成,能快速的在成员数与成员资格管理紧密集成,能快速的在成员数与成员资格管理紧密集成,能快速的在成员数与成员资格管理紧密集成,能快速的在成员数据表中创建新用户。据表中创建新用户。据表中创建新用户。据表中创建新用户。asp:CreateUserWiza
44、rd ID=CreateUserWizard1 runat=server 45Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.2 CreateUserWizard控件(续)控件(续)CreateUserWizardCreateUserWizard控件使用时要与控件使用时要与控件使用时要与控件使用时要与web.configweb.config中的中的中的中的配置节属性信息结合。配置节属性信息结合。配置节属性信息结合。配置节属性信息结合。要求输入的密码为强密码(即密码至少要求输入的密码为强密码(即密码至少要求输入的密码为强密码(即密码至少要求输入的密码为强密码(即密码至少7
45、 7个字个字个字个字符、至少包括一个字母和至少包括一个非数字符、至少包括一个字母和至少包括一个非数字符、至少包括一个字母和至少包括一个非数字符、至少包括一个字母和至少包括一个非数字非字母的特殊符号),设置属性非字母的特殊符号),设置属性非字母的特殊符号),设置属性非字母的特殊符号),设置属性minRequiredPasswordLengthminRequiredPasswordLength、minRequiredNonalphanumericCharactersminRequiredNonalphanumericCharacters。要显示要显示要显示要显示“安全提示问题安全提示问题安全提示问
46、题安全提示问题”和和和和“安全答案安全答案安全答案安全答案”,需要设,需要设,需要设,需要设置属性置属性置属性置属性requiresQuestionAndAnswerrequiresQuestionAndAnswer。46Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.2 CreateUserWizard控件(续)控件(续)属性属性属性属性MailDefinitionMailDefinition:代表了:代表了:代表了:代表了MailDefinitionMailDefinition类类类类的一个对象。的一个对象。的一个对象。的一个对象。MailDefinitionMai
47、lDefinition类提供了定义一封类提供了定义一封类提供了定义一封类提供了定义一封E-mailE-mail需要的需要的需要的需要的所有属性,如属性所有属性,如属性所有属性,如属性所有属性,如属性FromFrom指定邮件从哪里发出;指定邮件从哪里发出;指定邮件从哪里发出;指定邮件从哪里发出;属性属性属性属性SubjectSubject指定邮件的主题;属性指定邮件的主题;属性指定邮件的主题;属性指定邮件的主题;属性BodyFileNameBodyFileName指定要发送邮件的文本等。在使指定要发送邮件的文本等。在使指定要发送邮件的文本等。在使指定要发送邮件的文本等。在使用用用用BodyFil
48、eNameBodyFileName时,首先需定义一个时,首先需定义一个时,首先需定义一个时,首先需定义一个.txt.txt文件,文件,文件,文件,如如如如ThankEmail.txtThankEmail.txt。该文件可包含一些特殊表。该文件可包含一些特殊表。该文件可包含一些特殊表。该文件可包含一些特殊表达式如达式如达式如达式如和和和和用来代替注册的用户名和用来代替注册的用户名和用来代替注册的用户名和用来代替注册的用户名和密码。密码。密码。密码。47Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.2 CreateUserWizard控件(续)控件(续)要发送电子邮件,还
49、要配置要发送电子邮件,还要配置要发送电子邮件,还要配置要发送电子邮件,还要配置。network defaultCredentials=false password=/48Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.2 CreateUserWizard控件(续)控件(续)CreateUserWizardCreateUserWizard控件的发送邮件功能还可与控件的发送邮件功能还可与控件的发送邮件功能还可与控件的发送邮件功能还可与属性属性属性属性AutoGeneratePasswordAutoGeneratePassword属性结合,用于验属性结合,用于验属性结合,用于
50、验属性结合,用于验证用户注册的电子邮箱是否正确。证用户注册的电子邮箱是否正确。证用户注册的电子邮箱是否正确。证用户注册的电子邮箱是否正确。49Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 CreateUserWizard控件的主要属性和事件表控件的主要属性和事件表 属性和事件说明 ActiveStepIndex获取或设置当前步骤的索引值,值从0开始。Answer获取或设置对密码问题的答案。ConfirmPassword获取用户输入的确认密码。ContinueDestinationPageUrl获取或设置在用户单击成功页上的继续按钮后将重定向到页面的URL地址。DisableC