ASP.NET程序设计案例教程 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 杨树林 胡洁萍 ASP.NET_7

上传人:E**** 文档编号:89351908 上传时间:2019-05-23 格式:PPT 页数:59 大小:370KB
返回 下载 相关 举报
ASP.NET程序设计案例教程 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  杨树林 胡洁萍 ASP.NET_7_第1页
第1页 / 共59页
ASP.NET程序设计案例教程 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  杨树林 胡洁萍 ASP.NET_7_第2页
第2页 / 共59页
ASP.NET程序设计案例教程 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  杨树林 胡洁萍 ASP.NET_7_第3页
第3页 / 共59页
ASP.NET程序设计案例教程 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  杨树林 胡洁萍 ASP.NET_7_第4页
第4页 / 共59页
ASP.NET程序设计案例教程 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  杨树林 胡洁萍 ASP.NET_7_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《ASP.NET程序设计案例教程 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 杨树林 胡洁萍 ASP.NET_7》由会员分享,可在线阅读,更多相关《ASP.NET程序设计案例教程 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 杨树林 胡洁萍 ASP.NET_7(59页珍藏版)》请在金锄头文库上搜索。

1、第7章 ASP.NET常用技术,杨树林 北京印刷学院,本章要点,资格与角色管理技术,身份验证与用户管理实现。 个性化服务技术,购物车(支持匿名用户)实现。 绘图知识,验证码功能实现。 ASP.NET AJAX技术,页面局部刷新和定时刷新实现。 文件操作及文件上传技术,图书添加功能实现。,7.1 成员资格与角色管理,身份验证和角色管理是Web应用程序非常重要的组成部分。ASP.NET提供的成员资格API和登录控件,为实现身份验证和角色管理提供强大支持。,7.1.1 验证方式及其配置,身份验证是用户提交用户凭证,通过服务器端验证的过程。如果提交凭据有效,则视为通过身份验证。在身份得到验证后,授权进

2、程将确定该身份是否可以访问给定资源。,ASP.NET的验证方式 ASP.NET通过身份验证提供程序来实现身份验证。内置的身份验证提供程序有: Windows验证提供程序 将Windows身份验证与IIS身份验证结合使用进行。 Forms验证提供程序 应用登录窗体,并执行身份验证。使用Forms身份验证的一种简便方法是使用ASP.NET成员资格和ASP.NET登录控件,它们一起提供了一种只需少量或无需代码就可以收集、验证和管理用户凭证的方法。 Passport验证提供程序 使用集中式的验证服务,该服务为成员站点提供单一登录和核心配置文件服务。,2. 表单验证配置 表单验证的基本配置步骤如下: (

3、1)在Web.config文件的节配置验证方式为表单验证。 (2)在节中增加节的配置。 其中: loginUrl设置客户端登录页面地址,如果用户没有认证就会跳转到该地址,默认值为Default.aspx。 name设置Cookie的名字,默认值为ASPXAUTH。,3授权配置 在Web.config文件中的节中设置访问规则来实现授权。子元素配置允许对资源进行访问的规则,配置拒绝对资源进行访问的规则。 ,7.1.2 成员资格管理及其配置,1. 成员资格管理API ASP.NET提供一组类用于成员资格管理,其中最主要的3个是:Membership、MembershipUser和Roles。 Mem

4、bership:提供常规成员资格功能,包括:创建一个新用户,删除一个用户,修改用户,返回用户列表,通过名称或电子邮件来查找用户,验证用户,获取联机用户的人数,通过用户名或电子邮件地址来搜索用户等功能。 MembershipUser:提供有关特定用户的信息,包括:获取密码和密码问题,更改密码,确定用户是否联机,确定用户是否已经过验证,返回最后一次活动、登录和密码更改的日期,取消对用户的锁定等。 Roles:用于管理角色中的用户成员资格,以便在ASP.NET应用程序中进行授权检查。,例如,下面代码根据文本框输入的值创建一个用户: MembershipUser newUser = Membershi

5、p.CreateUser(UsernameTextBox.Text, PasswordTextBox.Text); 再如,下面代码段用于登录验证: if (Membership.ValidateUser(UsernameTextBox.Text, PasswordTextBox.Text) FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text,true); else Msg.Text = “登录失败!“; 再如,将指定的用户添加到指定的角色中。 Roles.AddUsersToRole(“yang“,“admin“);,2

6、. 成员资格管理数据库配置 默认情况下,当第一次执行与用户配置功能有关的应用程序时,系统将自动为该应用程序创建一个SQL Sewer 2005 Express的特定数据库实例,用于成员资格管理。该数据库实例存储于应用程序根目录下的App_Data文件夹中,名称为ASPNETDB.MDF。 可以使用配置工具aspnet_regsql.exe,在自己的数据库中建立用于成员资格管理所需的表。该工具一般位于:C:WINDOWSMicrosoft.NETFrameworkv2.0.50727文件夹下。,4. 角色管理者配置 在节配置角色管理者,配置如下: 其中: cacheRolesInCookie指定

7、当验证某个用户是否属于特定角色时,先检查Cookie,然后使用角色提供程序在数据源中检查角色列表。如果为true,则缓存当前用户的Cookie中的角色名称列表;否则不缓存。默认值为false。,5. 使用网站管理工具 网站管理工具是ASP.NET提供的一个配置工具,通过可视界面来完成用户和角色的管理。,7.1.3 ASP.NET登录控件,ASP.NET 登录控件为ASP.NET Web应用程序提供了一种可靠的、无需编程的登录解决方案。默认情况下,登录控件与ASP.NET成员资格和Forms身份验证集成,以帮助实现网站的用户身份验证过程的自动化。 1. Login控件 Login控件显示用于执行

8、用户身份验证的用户界面。Login控件包含用于输入用户名和密码的文本框,以及指示是否需要服务器使用成员资格存储他们的标识的复选框,以便下次访问该站点时自动进行身份验证。 Login控件有用于自定义显示、自定义消息的属性和指向其他页的链接,在那些页面中用户可以更改密码或找回忘记的密码。Login控件可用作主页上的独立控件,或者您还可以在专门的登录页上使用它。,2. LoginView控件 使用LoginView控件,可以向匿名用户和登录用户显示不同的信息。该控件显示以下两个模板之一:AnonymousTemplate或LoggedInTemplate。在这些模板中,以分别添加为匿名用户和经过身份

9、验证的用户显示适当信息的标记和控件。 LoginView控件还包括ViewChanging和ViewChanged的事件,可以为这些事件编写当用户登录和更改状态时的处理程序。,3. LoginStatus控件 LoginStatus 控件为没有通过身份验证的用户显示登录链接,为通过身份验证的用户显示注销链接。登录链接将用户带到登录页。注销链接将当前用户的身份重置为匿名用户。 可以通过设置LoginText和LoginImageUrl属性自定义LoginStatus控件的外观。,4. LoginName控件 如果用户已使用ASP.NET成员资格登录,LoginName控件将显示该用户的登录名。或

10、者,如果站点使用集成Windows身份验证,该控件将显示用户的Windows帐户名。,5. PasswordRecovery控件 PasswordRecovery控件允许根据创建帐户时所使用的电子邮件地址来找回用户密码,它会向用户发送包含密码的电子邮件。可以配置ASP.NET成员资格,以使用不可逆的加密来存储密码。在这种情况下,PasswordRecovery 控件将生成一个新密码,而不是将原始密码发送给用户。还可以配置成员资格,以包括一个用户为了找回密码必须回答的安全提示问题。如果这样做,PasswordRecovery 控件将在找回密码前提问该问题并核对答案。,6. CreateUserW

11、izard控件 CreateUserWizard控件用于收集下列用户信息:用户名、密码、密码确认、电子邮件地址、安全提示问题、安全答案。默认情况下,CreateUserWizard控件将新用户添加到ASP.NET成员资格系统中。,7. ChangePassword控件 通过ChangePassword控件,用户可以更改其密码。用户需提供原始密码,然后创建并确认新密码。如果原始密码正确,则用户密码将更改为新密码。该控件还支持发送关于新密码的电子邮件。,7.1.4 案例7-1 基于成员资格管理实现书城用户管理,通过ASP.NET的成员资格管理功能及登录控件来实现书城的用户管理,包括用户注册、登录、

12、权限验证、状态显示、注销、管理等功能。嵌入主页中的用户登录控件,运行时的不同状态如图7-9、7-10、7-11所示。用户注册界面如图7-12所示。独立的登录界面如图7-13所示。,技术要点 使用ASP.NET的成员资格管理与登录控件配合来实现用户管理功能。 用户注册使用CreateUserWizard控件,为了使注册用户有一个基本的角色,为该控件添加了事件CreatedUser处理程序。 使用LoginView控件实现匿名用户和登录用户显示不同的状态。 用户登录使用Login控件,登录后使用LoginName显示用户名,使用LoginStatus显示注销链接。,7.2 个性化用户服务,在许多应

13、用程序中,需要存储并使用对用户唯一的信息。用户访问站点时,可以使用已存储的信息向用户显示Web应用程序的个性化版本。ASP.NET个性化用户服务功能使应用程序容易实现:使用唯一的用户标识符存储信息,能够在用户再次访问时识别用户,然后根据需要获取用户信息。,7.2.1 个性化服务简介,ASP.NET 技术提供了一个个性化服务解决技术框架。该框架主要包括3项核心功能: 成员和角色管理、个性化用户配置、Web部件。个性化用户配置是一种为用户提供存取个性化信息的机制,它将信息与用户关联,并采用持久性的格式存储这些信息。特点是: 根据每个用户存储各自的用户资料,包括匿名用户的资料。 可以在Web.Con

14、fig中定义而立即生效,不必手动扩充数据库字段。 可以存储任意数据类型,包括简单数据类型和自定义的复杂数据类型。,ASP.NET个性化服务包含如下三大步骤: (1)识别用户(包括匿名用户)身份 包括验证用户身份,识别用户需求以及管理用户。 (2)提供个性化服务 针对注册和匿名用户提供不同的服务。 (3)存贮用户信息 可以保存用户的相关信息,以方便下次使用,包括用户的登陆信息。,7.2.2 个性化服务配置,对应用程序Web.config文件进行配置,以启用个性化服务,并定义为用户存储和跟踪的配置信息。在配置中指定用户配置文件提供程序,该程序是执行存储和检索配置文件数据的基础类。可以使用默认的配置

15、文件提供程序(System.Web.Profile.SqlProfileProvider,该提供程序将配置数据存储在SQL Server中),也可以使用自己的配置文件提供程序。,7.2.3 个性化数据操作,应用程序运行时,ASP.NET 会创建一个ProfileCommon类,该类是一个动态生成的类,从ProfileBase类继承而来。动态的ProfileCommon类包括根据在应用程序配置中指定的配置文件属性定义创建的属性。然后,会将此动态ProfileCommon类的实例设置为当前HttpContext的Profile属性的值,并且可在应用程序的页中使用。,1. 存数据 直接通过Profi

16、le即可存数据。基本方式为: Profile.属性名=值; Profile.组名.属性名=值; Profile.Save();/将修改后的配置文件属性值写入到数据源,2. 取数据 取数据的基本格式为: 类型 变量=Profile.属性名 类型 变量=Profile.属性组.属性名,7.2.4 为匿名用户实现个性化服务,有时要为匿名用户实现个性化服务。例如,在书城网站中,用户可以先以匿名用户的身份挑选购图书,在结账的时候再让用户输入账号、密码以及其他信息,进行结账。将图书加入购物车后,并没有及时结账(比如因网速慢),下次进来想接着挑选,这就需要为用户保存购物车。使用个性化服务可以做到这一点。 默认情况下,用户个性化服务功能并不会启用对匿名用户的支持,因此,必须显式启用。当启用匿名用户支持,用户首次访问应用程序时,ASP.NET将为其创建一个唯一标识。该唯一用户标识存储在用户计算机上的Cookie中。这样,对于每个页面请求,都可以得到唯一标识。Cookie的默认有效期设置大约为70天,用户访问站点时会定期对其进行更新。如果用户的计算机不接受Cookie,则

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号