《ASP-NET程序设计教程》-教学课件-第11章-Web用户与权限管理_第1页
《ASP-NET程序设计教程》-教学课件-第11章-Web用户与权限管理_第2页
《ASP-NET程序设计教程》-教学课件-第11章-Web用户与权限管理_第3页
《ASP-NET程序设计教程》-教学课件-第11章-Web用户与权限管理_第4页
《ASP-NET程序设计教程》-教学课件-第11章-Web用户与权限管理_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

WEB用户与权限管理北京理工大学计算机学院金旭亮程序设计之WEB用户与权限管理北京理工大学计算机学院金旭亮程序设计1主要内容Web用户与权限管理概述使用网站管理工具使用登录控件自定义成员资格与角色管理2主要内容Web用户与权限管理概述221Web用户与权限管理概述1Web用户与权限管理概述3WEB用户权限管理Web用户权限管理,简单地说,要解决两个任务:身份验证(authentication):即确定访问网站的用户身份,解决“用户是谁”的问题;使用权限(authorization):即在用户身份确定之后,授予他一定的权限,允许他使用特定的服务,这是解决“用户能干什么”的问题。4WEB用户权限管理Web用户权限管理,简单地说,要解决两个任4身份验证方式应用程序可以使用以下四种身份验证方式:5身份验证方式说明None不进行身份验证,Web站点向所有人开放Windows基于Windows身份验证,使用用户登录Windows的账户作为Web站点的用户。由于用户在访问网站前已经登录了Windows,所以他访问网站时不再需要输入用户名与密码。Forms由ASP.NET负责进行身份验证,即网站提供一个登录页面,要求用户输入用户名与密码,验证合法之后才可以访问网站。Passport使用微软提供的PassportSDK,通过第三方进行身份验证。在实际的Web项目,多采用Forms身份验证。身份验证方式应用程序可以使用以下四种身份验证方式:5身份验证5理解身份验证(1)Demo:UnderStandAuthentication默认情况下,中有以下设置:<authenticationmode="Windows"/>说明此网站使用Windows身份验证。6理解身份验证(1)Demo:UnderStandAuthe6理解身份验证(2)修改如下:

<authenticationmode="Forms"><formsloginUrl="~/login.aspx" defaultUrl="~/default.aspx"name="UnderStandAuthentication”protection="All"timeout="60"/></authentication>先访问登录网页,成功后自动跳转到网站主页7理解身份验证(2)修改如下:77一个问题浮出水面……在前面的例子中,用户可以通过直接在浏览器中输入URL来绕开登录过程直接访问网站主页。如何强制用户必须登录后才能访问网站主页?8一个问题浮出水面……在前面的例子中,用户可以通过直接在浏览器8给网站添加访问规则在中添加以下设置:9上述设置禁止匿名用户访问网站,只允许SystemManager用户访问。有了上述设置,现在,用户不登录直接访问网站主页,将会被导航到登录页面。注意:在本示例程序中直接使用代码来模拟用户和角色,未使用数据库。因此,用户test被人为地转为“SystemManager”角色。<authorization><allowusers="SystemManager"/><denyusers="?"/></authorization>给网站添加访问规则在中添加以下设置:9上述设置禁止匿名用户访9从这个实例中,可以形成以下认识:身份验证确认“你是谁?”,而授权则规定“你能干什么!”。可以在中设定身份验证模式和进行授权。使用FormsAuthentication.SetAuthCookie(用户名)方法表明某个用户已通过身份验证。其信息保存于Cookie中。在网页中使用获取身份验证信息(比如用户名)。10从这个实例中,可以形成以下认识:身份验证确认“你是谁?”,而10进一步理解授权可以把用户分为特定的种类,每种类型的用户只能做特定的事。这种用户的分类,被称为“角色(Role)”。角色可以看成是具有特定权限的用户集合。可以使用“网站配置”工具轻松地给网站添加角色。11进一步理解授权可以把用户分为特定的种类,每种类型的用户只能做11剖析成员资格与角色管理框架剖析成员资格与角色管理框架12了解用户权限管理框架MemberShip类:提供了一系列的静态方法与属性,完成创建用户、管理密码以及身份验证的功能。MemberShipUser类:代表单个的用户权限信息,该对象公开成员资格用户的相关信息(如电子邮件地址),并为成员资格用户提供功能(如更改或重置其密码的功能)。Roles类:提供了一系列的静态方法与属性,完成角色管理的相关功能,比如将某个用户加入到特定的角色中。13了解用户权限管理框架MemberShip类:提供了一系列的静13在网站中集成用户管理功能在网页中,可以直接使用MemberShip的一系列静态方法来管理用户,比如创建新用户、删除一个用户、更新用户信息等,例如:

Membership.CreateUser("username","password");Membership.DeleteUser("username");这就使我们可以很方便地在网页中集成用户管理的功能(比如在页面上提供注册新用户账号的功能)14在网站中集成用户管理功能在网页中,可以直接使用MemberS14提取用户信息MemberShipUser封装了用户信息,例如,以下代码查找管理员用户sa,并且输出其登录信息:15MembershipUseruser=Membership.GetUser("sa");if(user!=null) Response.Write("上次登录时间:"+ user.LastLoginDate.ToString());提取用户信息MemberShipUser封装了用户信息,例如15角色管理Roles类提供了一系列的静态方法可以完成创建/删除角色,向角色中添加和删除用户,以及查询用户是否属于某个角色等功能。16string[]users=Roles.GetUsersInRole("Admin");Roles.AddUserToRole("username","rolename");使用这些静态方法,可以很方便地在页面中对用户进行角色鉴别。角色管理Roles类提供了一系列的静态方法可以完成创建/删除16用户登录凭据的保存为了保存用户的登录信息,可以使用FormsAuthentication类的SetAuthCookie保存用户的登录凭据:

if(Membership.ValidateUser("username","password"))

//将用户登录凭据保存到Cookie中FormsAuthentication.SetAuthCookie("username",true/false);之后,在网页中就可以通过属性来判断用户是否登录。用户注销时,使用FormsAuthentication.SignOut();,这样,用户的登录凭据就会被删除。以后要访问特定资源,就需要重新登录。17用户登录凭据的保存为了保存用户的登录信息,可以使用Forms17用户与权限管理信息的存储18用户与权限管理信息的存储1818用户与权限管理参数的设置与用户与权限管理参数相关的相关配置信息主要保存在网站的文件中。Windows提供另两个配置文件和用于提供全局性的默认参数设置。这两个文件都位于“\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG”文件夹下。

参数配置冲突时:特殊者胜出!19用户与权限管理参数的设置与用户与权限管理参数相关的相关配置信192使用网站管理工具2使用网站管理工具20网站管理工具从VS2008的“网站”菜单中选择“配置”,即可打开网站管理工具。21网站管理工具从VS2008的“网站”菜单中选择“配置”,即可21使用网站管理工具利用网站管理工具,可以给网站添加用户和角色,同时创建访问规则22使用网站管理工具利用网站管理工具,可以给网站添加用户和角色,22使用网站配置工具配置网站Demo:UnderstandAuthorization使用“网站管理工具”创建了Admin与User两个角色。Admin文件夹只允许属于Admin角色的用户访问,User文件夹只针对注册用户开放,匿名用户不允许访问。网站首页和登录网页则开放给所有的用户访问。请仔细查看每个文件夹下的文件。23使用网站配置工具配置网站Demo:UnderstandAut23走得更远……利用提供的成员资格与角色管理框架(主要就是前面介绍的几个类),配合“网站配工具”我们可以很方便地在自己的网站中集成这些功能。为了更大幅度地减少开发的工作量,还提供了一整套的登录控件,基本上“零编程”可以实现常见网站的用户管理功能……24走得更远……利用提供的成员资格与角色管理框架(主要就是前面介243使用登录控件3使用登录控件25登录控件简介可以使用登录控件快速创建网站用户管理模块26登录控件简介可以使用登录控件快速创建网站用户管理模块2626LOGIN控件显示一个用户名与密码文本框,用户输入之后,如果用户名与密码有效,自动导航到其NavigateUrl指定的网页,否则,显示出错信息,要求用户重输。27当用户登录且成功通过验证,Login控件会激发一个LoggedIn事件。如果用户的登录尝试不成功,比如密码错误,Login控件会激发一个LoginError事件。LOGIN控件显示一个用户名与密码文本框,用户输入之后,如果27自定义用户验证可以直接给Login控件的Authenticate事件编码:privatevoidOnAuthenticate(objectsender,AuthenticateEventArgse){//取出Login控件的UserName和Password进行验测 //如果用户名与Password有效,则 e.Authenticated=true; //否则, e.Authenticated=false;}如果Authenticated=true,表明登录有效,Login控件激发LoggedIn事件,将用户重定向到当前页或DestinationPageUrl指示的页,否则,引发LoginError事件28自定义用户验证可以直接给Login控件的Authentica28LOGINVIEW控件可根据角色在同一个网页中显示不同的模板,默认情况下只有两个模板:用于匿名用户的模板(AnonymousTemplate)和用于登录用户的模板(LoggedInTemplate)。如果使用“网站管理工具”创建了角色,则可以从LoginView的智能菜单中选择“编辑RoleGroups”命令,为特定的角色创建新的模板。29匿名用户视图注册用户视图管理员视图LOGINVIEW控件可根据角色在同一个网页中显示不同的模板29PASSWORDRECOVERY控件供用户忘记密码时使用。此控件在运行时先要求输入用户名,然后显示一个问题(此问题是在创建用户时由用户指定的,比如“你最喜欢的书是哪本”)要求输入答案。答案正确之后,PasswordRecovery控件自动生成一个新密码,再通过电子邮件通知用户。因此,此控件要正常工作,需要使用“网站管理工具”设置一个可用的SMTP帐号与密码。30PASSWORDRECOVERY控件供用户忘记密码时使用。此30CHANGEPASSWORD控件不用多说,一目了然。31CHANGEPASSWORD控件不用多说,一目了然。3131LOGINSTATUS控件默认情况下,当用户登录后访问放置了此控件的网页,此控件显示“注销”字样,而用户未登录访问此网页,此控件则显示“登录”字样。具体为哪种状态是由Page对象的Request属性的IsAuthenticated属性决定的。点击这一控件时,如果用户没有登录站点,LoginStatus控件提供指向应用程序配置设置中定义的登录页的链接。如果用户已登录网站,LoginStatus控件提供一个用于从网站注销的链接。从网站注销的操作会清除用户的身份验证状态,如果在使用

Cookie,该操作还会清除用户的保存在客户端计算机中的

Cookie。以后每次访问网站时,LoginStatus控件都会显示登录提示。32LOGINSTATUS控件默认情况下,当用户登录后访问放置了32LOGINNAME控件默认情况下,LoginName控件显示

Page类的

User属性中包含的名称。如果

System.Web.UI.Page.User.Identity.Name属性为空,则不呈现控件。33LOGINNAME控件默认情况下,LoginName控件显33CREATEUSERWIZARD控件提供一个向导,用于创建用户。34此控件在后台调用MemberShip.CreateUser()来创建用户,因此,如果需要将用户信息保存到某个特殊的地方,除非自定义一个成员资格提供程序,否则,不要使用这个控件创建用户。CREATEUSERWIZARD控件提供一个向导,用于创建用34登录控件使用实例示例网站:UseMembershipControl35登录控件使用实例示例网站:UseMembershipCon35有关登录控件提供的登录控件可与成员资格紧密集成,大大减少了开发工作量。但要注意,成员资格是独立于登录控件的。如果需要创建自定义风格的页面,可以不用这套现成的控件,而完全用传统的HTML元素和标准控件重新打造全新的页面。这时,后台可以直接使用现成的成员资格与角色管理组件。也可以完全抛开登录控件和成员资格组件,这时需要从零开始实现相关功能,虽然最灵活,但工作量也最大,在很多情况下并不需要这样做。36有关登录控件提供的登录控件可与成员资格紧密集成,大大减少了开364自定义成员资格与角色管理4自定义成员资格与角色管理37有关“成员资格与角色管理”的看法默认情况下,成员资格与角色管理的数据放在网站App_Data文件夹下的中,定义了相当多的表。38在实际开发中,往往网站有自己的数据库,并且希望能保存有关用户的更多的信息。好象成员资格与角色管理不能改数据库结构,因此有人认为:的成员资格与角色管理是鸡肋,真的是这样吗?有关“成员资格与角色管理”的看法默认情况下,成员资格与角色管38能不能将成员资格数据库并入本网站数据库?问题1:能不能将成员资格数据库并入本网站数据库?问题1:39解决方案:使用程序将成员资格数据库移到SQLServer中。40解决方案:使用程序将成员资格数据库移到SQLServer中40移植成员资格数据库在此选择要保存成员资格信息的数据库。41移植成员资格数据库在此选择要保存成员资格信息的数据库。4141修改网站配置文件添加一个连接字串<connectionStrings><addname="MySqlConnection"connectionString=“……;"/></connectionStrings>设定网站使用特定的成员资格提供程序:<membershipdefaultProvider="SqlProvider“><providers><clear/><addname="SqlProvider"type="System.Web.Security.SqlMembershipProvider"connectionStringName="MySqlConnection"……"/></providers></membership>42使用指定的连接字串移除默认的提供程序使用新的提供程序修改网站配置文件添加一个连接字串42使用指定的连接字串移除默42配置角色管理提供程序在中添加以下设置参数:<roleManagerenabled="true"defaultProvider="SqlProvider"><providers><addname="SqlProvider"connectionStringName="MySqlConnection"applicationName="UserMemberShipInSQLServer"type="System.Web.Security.SqlRoleProvider,System.Web,Version=,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"……/></providers></roleManager>请注意一下上面的type元素,这一值是从“”文件中获取的。43配置角色管理提供程序在中添加以下设置参数:4343我能不能添加扩充的用户信息?问题2:我能不能添加扩充的用户信息?问题2:44解决方案所有的成员资格用户信息都有一个标识45这个用户标识是一个GUID字串,不可能重复。利用此标识,我们根据实际情况可以在数据库中另外创建一个自定义用户表以保存一些扩充信息,这个表与成员资格的用户表之间使用此用户标识进行关联。因此,我们既可以利用现有的成员资格组件以减少开发工作量,同时又能兼顾实际需要。MembershipUseruser=Membership.GetUser("sa");if(user!=null)Response.Write(user.ProviderUserKey);解决方案所有的成员资格用户信息都有一个标识45这个用户标识是45我的数据不放在SQLSERVER中,因此,不能用程序问题3:我的数据不放在SQLSERVER中,因此,不能用程序问题346分析问题请看看成员资格的系统架构:47分层的架构,每一层都可以被独立地替换掉分析问题请看看成员资格的系统架构:47分层的架构,每一层都可47技术解决方案自定义一个成员资格提供程序,派生自抽象类MemberShipProvider,实现其中所有的抽象方法。自定义一个角色管理提供程序,派生自抽象类RoleProvider,实现其中所有的抽象方法。修改网站的,使用新开发的提供程序替换掉默认的SqlMemberShipProvider和AspNetSqlRoleProvider即可。详情请查询MSDN。48技术解决方案自定义一个成员资格提供程序,派生自抽象类Memb48WEB用户与权限管理北京理工大学计算机学院金旭亮程序设计之WEB用户与权限管理北京理工大学计算机学院金旭亮程序设计49主要内容Web用户与权限管理概述使用网站管理工具使用登录控件自定义成员资格与角色管理50主要内容Web用户与权限管理概述2501Web用户与权限管理概述1Web用户与权限管理概述51WEB用户权限管理Web用户权限管理,简单地说,要解决两个任务:身份验证(authentication):即确定访问网站的用户身份,解决“用户是谁”的问题;使用权限(authorization):即在用户身份确定之后,授予他一定的权限,允许他使用特定的服务,这是解决“用户能干什么”的问题。52WEB用户权限管理Web用户权限管理,简单地说,要解决两个任52身份验证方式应用程序可以使用以下四种身份验证方式:53身份验证方式说明None不进行身份验证,Web站点向所有人开放Windows基于Windows身份验证,使用用户登录Windows的账户作为Web站点的用户。由于用户在访问网站前已经登录了Windows,所以他访问网站时不再需要输入用户名与密码。Forms由ASP.NET负责进行身份验证,即网站提供一个登录页面,要求用户输入用户名与密码,验证合法之后才可以访问网站。Passport使用微软提供的PassportSDK,通过第三方进行身份验证。在实际的Web项目,多采用Forms身份验证。身份验证方式应用程序可以使用以下四种身份验证方式:5身份验证53理解身份验证(1)Demo:UnderStandAuthentication默认情况下,中有以下设置:<authenticationmode="Windows"/>说明此网站使用Windows身份验证。54理解身份验证(1)Demo:UnderStandAuthe54理解身份验证(2)修改如下:

<authenticationmode="Forms"><formsloginUrl="~/login.aspx" defaultUrl="~/default.aspx"name="UnderStandAuthentication”protection="All"timeout="60"/></authentication>先访问登录网页,成功后自动跳转到网站主页55理解身份验证(2)修改如下:755一个问题浮出水面……在前面的例子中,用户可以通过直接在浏览器中输入URL来绕开登录过程直接访问网站主页。如何强制用户必须登录后才能访问网站主页?56一个问题浮出水面……在前面的例子中,用户可以通过直接在浏览器56给网站添加访问规则在中添加以下设置:57上述设置禁止匿名用户访问网站,只允许SystemManager用户访问。有了上述设置,现在,用户不登录直接访问网站主页,将会被导航到登录页面。注意:在本示例程序中直接使用代码来模拟用户和角色,未使用数据库。因此,用户test被人为地转为“SystemManager”角色。<authorization><allowusers="SystemManager"/><denyusers="?"/></authorization>给网站添加访问规则在中添加以下设置:9上述设置禁止匿名用户访57从这个实例中,可以形成以下认识:身份验证确认“你是谁?”,而授权则规定“你能干什么!”。可以在中设定身份验证模式和进行授权。使用FormsAuthentication.SetAuthCookie(用户名)方法表明某个用户已通过身份验证。其信息保存于Cookie中。在网页中使用获取身份验证信息(比如用户名)。58从这个实例中,可以形成以下认识:身份验证确认“你是谁?”,而58进一步理解授权可以把用户分为特定的种类,每种类型的用户只能做特定的事。这种用户的分类,被称为“角色(Role)”。角色可以看成是具有特定权限的用户集合。可以使用“网站配置”工具轻松地给网站添加角色。59进一步理解授权可以把用户分为特定的种类,每种类型的用户只能做59剖析成员资格与角色管理框架剖析成员资格与角色管理框架60了解用户权限管理框架MemberShip类:提供了一系列的静态方法与属性,完成创建用户、管理密码以及身份验证的功能。MemberShipUser类:代表单个的用户权限信息,该对象公开成员资格用户的相关信息(如电子邮件地址),并为成员资格用户提供功能(如更改或重置其密码的功能)。Roles类:提供了一系列的静态方法与属性,完成角色管理的相关功能,比如将某个用户加入到特定的角色中。61了解用户权限管理框架MemberShip类:提供了一系列的静61在网站中集成用户管理功能在网页中,可以直接使用MemberShip的一系列静态方法来管理用户,比如创建新用户、删除一个用户、更新用户信息等,例如:

Membership.CreateUser("username","password");Membership.DeleteUser("username");这就使我们可以很方便地在网页中集成用户管理的功能(比如在页面上提供注册新用户账号的功能)62在网站中集成用户管理功能在网页中,可以直接使用MemberS62提取用户信息MemberShipUser封装了用户信息,例如,以下代码查找管理员用户sa,并且输出其登录信息:63MembershipUseruser=Membership.GetUser("sa");if(user!=null) Response.Write("上次登录时间:"+ user.LastLoginDate.ToString());提取用户信息MemberShipUser封装了用户信息,例如63角色管理Roles类提供了一系列的静态方法可以完成创建/删除角色,向角色中添加和删除用户,以及查询用户是否属于某个角色等功能。64string[]users=Roles.GetUsersInRole("Admin");Roles.AddUserToRole("username","rolename");使用这些静态方法,可以很方便地在页面中对用户进行角色鉴别。角色管理Roles类提供了一系列的静态方法可以完成创建/删除64用户登录凭据的保存为了保存用户的登录信息,可以使用FormsAuthentication类的SetAuthCookie保存用户的登录凭据:

if(Membership.ValidateUser("username","password"))

//将用户登录凭据保存到Cookie中FormsAuthentication.SetAuthCookie("username",true/false);之后,在网页中就可以通过属性来判断用户是否登录。用户注销时,使用FormsAuthentication.SignOut();,这样,用户的登录凭据就会被删除。以后要访问特定资源,就需要重新登录。65用户登录凭据的保存为了保存用户的登录信息,可以使用Forms65用户与权限管理信息的存储66用户与权限管理信息的存储1866用户与权限管理参数的设置与用户与权限管理参数相关的相关配置信息主要保存在网站的文件中。Windows提供另两个配置文件和用于提供全局性的默认参数设置。这两个文件都位于“\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG”文件夹下。

参数配置冲突时:特殊者胜出!67用户与权限管理参数的设置与用户与权限管理参数相关的相关配置信672使用网站管理工具2使用网站管理工具68网站管理工具从VS2008的“网站”菜单中选择“配置”,即可打开网站管理工具。69网站管理工具从VS2008的“网站”菜单中选择“配置”,即可69使用网站管理工具利用网站管理工具,可以给网站添加用户和角色,同时创建访问规则70使用网站管理工具利用网站管理工具,可以给网站添加用户和角色,70使用网站配置工具配置网站Demo:UnderstandAuthorization使用“网站管理工具”创建了Admin与User两个角色。Admin文件夹只允许属于Admin角色的用户访问,User文件夹只针对注册用户开放,匿名用户不允许访问。网站首页和登录网页则开放给所有的用户访问。请仔细查看每个文件夹下的文件。71使用网站配置工具配置网站Demo:UnderstandAut71走得更远……利用提供的成员资格与角色管理框架(主要就是前面介绍的几个类),配合“网站配工具”我们可以很方便地在自己的网站中集成这些功能。为了更大幅度地减少开发的工作量,还提供了一整套的登录控件,基本上“零编程”可以实现常见网站的用户管理功能……72走得更远……利用提供的成员资格与角色管理框架(主要就是前面介723使用登录控件3使用登录控件73登录控件简介可以使用登录控件快速创建网站用户管理模块74登录控件简介可以使用登录控件快速创建网站用户管理模块2674LOGIN控件显示一个用户名与密码文本框,用户输入之后,如果用户名与密码有效,自动导航到其NavigateUrl指定的网页,否则,显示出错信息,要求用户重输。75当用户登录且成功通过验证,Login控件会激发一个LoggedIn事件。如果用户的登录尝试不成功,比如密码错误,Login控件会激发一个LoginError事件。LOGIN控件显示一个用户名与密码文本框,用户输入之后,如果75自定义用户验证可以直接给Login控件的Authenticate事件编码:privatevoidOnAuthenticate(objectsender,AuthenticateEventArgse){//取出Login控件的UserName和Password进行验测 //如果用户名与Password有效,则 e.Authenticated=true; //否则, e.Authenticated=false;}如果Authenticated=true,表明登录有效,Login控件激发LoggedIn事件,将用户重定向到当前页或DestinationPageUrl指示的页,否则,引发LoginError事件76自定义用户验证可以直接给Login控件的Authentica76LOGINVIEW控件可根据角色在同一个网页中显示不同的模板,默认情况下只有两个模板:用于匿名用户的模板(AnonymousTemplate)和用于登录用户的模板(LoggedInTemplate)。如果使用“网站管理工具”创建了角色,则可以从LoginView的智能菜单中选择“编辑RoleGroups”命令,为特定的角色创建新的模板。77匿名用户视图注册用户视图管理员视图LOGINVIEW控件可根据角色在同一个网页中显示不同的模板77PASSWORDRECOVERY控件供用户忘记密码时使用。此控件在运行时先要求输入用户名,然后显示一个问题(此问题是在创建用户时由用户指定的,比如“你最喜欢的书是哪本”)要求输入答案。答案正确之后,PasswordRecovery控件自动生成一个新密码,再通过电子邮件通知用户。因此,此控件要正常工作,需要使用“网站管理工具”设置一个可用的SMTP帐号与密码。78PASSWORDRECOVERY控件供用户忘记密码时使用。此78CHANGEPASSWORD控件不用多说,一目了然。79CHANGEPASSWORD控件不用多说,一目了然。3179LOGINSTATUS控件默认情况下,当用户登录后访问放置了此控件的网页,此控件显示“注销”字样,而用户未登录访问此网页,此控件则显示“登录”字样。具体为哪种状态是由Page对象的Request属性的IsAuthenticated属性决定的。点击这一控件时,如果用户没有登录站点,LoginStatus控件提供指向应用程序配置设置中定义的登录页的链接。如果用户已登录网站,LoginStatus控件提供一个用于从网站注销的链接。从网站注销的操作会清除用户的身份验证状态,如果在使用

Cookie,该操作还会清除用户的保存在客户端计算机中的

Cookie。以后每次访问网站时,LoginStatus控件都会显示登录提示。80LOGINSTATUS控件默认情况下,当用户登录后访问放置了80LOGINNAME控件默认情况下,LoginName控件显示

Page类的

User属性中包含的名称。如果

System.Web.UI.Page.User.Identity.Name属性为空,则不呈现控件。81LOGINNAME控件默认情况下,LoginName控件显81CREATEUSERWIZARD控件提供一个向导,用于创建用户。82此控件在后台调用MemberShip.CreateUser()来创建用户,因此,如果需要将用户信息保存到某个特殊的地方,除非自定义一个成员资格提供程序,否则,不要使用这个控件创建用户。CREATEUSERWIZARD控件提供一个向导,用于创建用82登录控件使用实例示例网站:UseMembershipControl83登录控件使用实例示例网站:UseMembershipCon83有关登录控件提供的登录控件可与成员资格紧密集成,大大减少了开发工作量。但要注意,成员资格是独立于登录控件的。如果需要创建自定义风格的页面,可以不用这套现成的控件,而完全用传统的HTML元素和标准控件重新打造全新的页面。这时,后台可以直接使用现成的成员资格与角色管理组件。也可以完全抛开登录控件和成员资格组件,这时需要从零开始实现相关功能,虽然最灵活,但工作量也最大,在很多情况下并不需要这样做。84有关登录控件提供的登录控件可与成员资格紧密集成,大大减少了开844自定义成员资格与角色管理4自定义成员资格与角色管理85有关“成员资格与角色管理”的看法默认情况下,成员资格与角色管理的数据放在网站App_Data文件夹下的中,定义了相当多的表。86在实际开发中,往往网站有自己的数据库,并且希望能保存有关用户的更多的信息。好象成员资格与角色管理不能改数据库结构,因此有人认为:的成员资格与角色管理是鸡肋,真的是这样吗?有关“成员资格与角色管理”的看法默认情况下,成员资格与角色管86能不能将成员资格数据库并入本网站数据库?问题1:能不能将成员资格数据库并入本网站数据库?问题1:87解决方案:使用程序将成员资格数据库移到SQLServer中。88解决方案:使用程序将成员资格数据库移到SQLServer中88移植成员资格数据库在此选择要保存成员资格信息的数据库。89移植成

温馨提示

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

评论

0/150

提交评论