ASP.NET程序设计案例教程教学课件作者李锡辉lf201112第8章节

上传人:E**** 文档编号:90505616 上传时间:2019-06-12 格式:PPT 页数:192 大小:1.50MB
返回 下载 相关 举报
ASP.NET程序设计案例教程教学课件作者李锡辉lf201112第8章节_第1页
第1页 / 共192页
ASP.NET程序设计案例教程教学课件作者李锡辉lf201112第8章节_第2页
第2页 / 共192页
ASP.NET程序设计案例教程教学课件作者李锡辉lf201112第8章节_第3页
第3页 / 共192页
ASP.NET程序设计案例教程教学课件作者李锡辉lf201112第8章节_第4页
第4页 / 共192页
ASP.NET程序设计案例教程教学课件作者李锡辉lf201112第8章节_第5页
第5页 / 共192页
点击查看更多>>
资源描述

《ASP.NET程序设计案例教程教学课件作者李锡辉lf201112第8章节》由会员分享,可在线阅读,更多相关《ASP.NET程序设计案例教程教学课件作者李锡辉lf201112第8章节(192页珍藏版)》请在金锄头文库上搜索。

1、,第8章 模块7站点发布,8.1 【任务15】站点发布,【本章提要】 当Web应用系统开发完成后,需要交付给客户一个完整的安装包文件,以方便客户将应用系统部署到指定的Web服务器中。本章围绕该站点发布任务的实现,介绍了Web应用系统的认证与授权,并详细阐述了系统跟踪与检测的方法。,【学习目标】 掌握Web的认证与授权。 掌握系统跟踪检测的方法。 掌握站点打包和发布的步骤。,任务描述 在校园在线超市系统的开发过程中,为了减少应用程序的性能开销,将商品栏目做成用户控件缓存起来,以后的请求将访问缓存信息,并对站点进行安全配置;在站点开发完成之后,需要交付给客户一个完整的安装包文件,以便客户方便地通过

2、Windows安装包将站点部署到指定的Web服务器中。,8.1 【任务15】站点发布,必备知识 知识1 Web的认证与授权 因特网虽然是一个面向全球的开放型网络系统,但有些网页并不是对所有用户都无条件开放的。例如,一些用于公司内部管理的网页只对公司内部的人员开放,有些网站设立的收费项目只对那些进行了注册,并交纳了费用的用户开放,有些商业网站实行“会员制”,只有经过注册的会员才有权参见某些商业交易活动。这些类似的情况都给网站设计提出了新的要求:为了网站的合法权益和网络安全,必须对一些特定的网页实施保护,当用户进入时要进行身份认证,并在认证的基础上分配资源。,1Web的认证 1) Web的认证机制

3、 认证是一个过程,用户可以通过这个过程来验证他们的身份,通过系统验证后的标识可以定位到唯一的用户。通常情况下,用户需要输入其用户名与密码,或者根据已有凭据进入登录页面。ASP.NET提供了三种不同的认证机制,如表8-1所示。,表8-1 三种认证机制,通过这三种不同的机制,可以使用不同的方式来保存用户的登录信息,包括用户密码等敏感数据。 在应用程序中启用认证,即在Web.config文件的 / /节点中进行配置,其代码如下: . 其中,mode是必选属性。,mode指定应用程序的默认身份认证模式,可选值为Windows、Forms、Passport或None,默认值为Windows。 Windo

4、ws:将Windows认证指定为默认的身份认证模式。将它与以下任意形式的IIS身份认证结合起来使用:基本、摘要、集成Windows身份认证或证书。在这种情况下,应用程序将身份认证责任委托给IIS。 Forms:将ASP.NET基于窗体的身份认证指定为默认身份认证模式。 Passport:将Microsoft Passport Network身份认证指定为默认身份认证模式。, None:不指定任何身份认证,应用程序仅支持匿名用户,否则它将提供自己的身份认证。 2) ASP.NET中的认证过程 在ASP.NET中,认证和授权都可以看做是在处理一系列的模块。ASP.NET认证和授权过程如图8-1所示

5、。,图8-1 ASP.NET认证和授权过程,当从IIS传递一个请求时,ASP.NET将初始化HttpRuntime、HttpApplication、HttpContext等一系列对象。在整个请求生命周期中,HttpContext对象用于传递有关请求和响应的详细信息。创建HttpApplication对象后,系统首先执行认证模块,通过这些模块的执行,将会更改HttpContext对象中的User属性。认证模块执行完成之后,接着执行授权模块。 在执行过程中,ASP.NET只加载一个身份认证模块,这取决于该配置文件的authentication元素中指定了哪种身份认证模式。该身份认证模块创建一个IP

6、rincipal对象,并将它存储在HttpContext.User属性中,其他授权模块则使用这个对象做出授权决定。,3) Windows认证 如果用户在Intranet上,且他们已经被分配域账户和组,就可以使用Windows身份认证。 在使用Windows认证时,IIS首先向操作系统请求身份认证。通过后,IIS将向ASP.NET传递代表身份认证的用户或匿名用户账户的标识。该标识被包含在IPrincipal对象的Identity子对象中,且可以通过HttpContext.User属性来访问IPrincipal对象和Identity对象。 启用Windows认证来保护ASP.NET网站有两个步骤:

7、 配置IIS。 在Web.config中设置身份验证。,(1) 配置IIS 配置IIS使用匿名身份验证和一个或多个下面的身份验证机制: 基本。 摘要式。 集成Windows。 (2) 设置身份认证 在Web.config中节的子节中,设置身份认证方法为Windows身份认证,代码如下: ,4) Forms认证 Windows认证仅仅是当用户拥有Microsoft Windows账户时才有用。如果正在构建一个基于Internet的ASP.NET站点,则使用Windows认证显然不行。因此,你可能会想到在其他地方存储用户账户而不是存储在操作系统中,如将用户凭据存储在数据库中。事实上,在多数情况下,

8、都需要建立自己的用户管理和存储机制。Forms认证模式能够让你轻易地创建这样一个自定义的安全机制,并安全地执行它。,(1) Forms认证机制 Forms认证使用用户登录到站点时创建的身份认证信息,然后在整个站点内跟踪该用户。身份认证信息通常包含在一个Cookie中。然而,ASP.NET 2.0版支持无Cookie Forms身份认证,所以将身份认证信息保存在查询字符串中。 如果用户请求一个需要经过身份认证的访问页,且该用户以前没有登录过该站点,则该用户重定向到一个配置好的登录页。该登录页提示用户提供凭据(通常是用户名和密码),然后,将这些凭据传递给服务器,并针对用户存储进行认证。,在ASP.

9、NET2.0中,用户存储访问可由成员身份提供程序处理,对用户的凭据进行身份认证后,用户重定向到原来请求的页面。Forms认证的过程如图8-2所示。,图8-2 Forms认证过程,该流程的详细说明如下: 用户请求应用程序的虚拟目录下的Default.aspx文件。因为IIS中启用了匿名访问,因此IIS允许该请求。 服务器查找一个身份认证Cookie。如果找不到该身份认证Cookie,则用户重定向到配置好的登录页(Login.aspx),该页由forms元素的LoginUrl属性指定。用户通过该页面提供和提交凭据。 浏览器请求Login.aspx页,并在查询字符串的RETURNURL参数中包括起始

10、页的相关信息。, 服务器返回登录页以及200 OK HTTP状态代码。 用户在登录页输入凭据,并将该页发送回服务器。 服务器根据某个存储认证用户凭据。登录页中的代码创建一个包含为该会话设置的Forms身份认证信息的Cookie。在ASP.NET 2.0中,可以通过成员身份系统执行对用户凭据的认证。 对于经过身份认证的用户,服务器将浏览器重定向到查询字符串中的RETURNURL参数指定的原始URL。 重定向之后,浏览器再次请求Default.aspx页。该请求包括身份认证Cookie。, FormsAuthenticationModule类检测Forms身份认证Cookie,并对用户进行身份认证

11、。身份认证成功后,FormsAuthenticationModule类使用有关经过身份认证的用户的信息填充当前的User属性。 由于服务器已经验证了身份认证Cookie,因此它允许访问并返回Default.aspx。,(2) 在Web.Config中配置Forms认证 当配置Forms认证的时候,可以指定一个登录页面。当用户对应用程序中的页面发出请求时,如果他们没有通过认证,就会被重定向到登录页面,在那里他们能够输入凭据。对于输入的凭据,必须通过编写代码进行相应处理。当用户通过认证后,就被重定向到他们最初所请求的页面。 以下配置文件片段显示了如何在Web.Config中设置Forms认证: ,

12、5) Passport认证 Passport认证是一种Microsoft提供的集中认证服务。用户可以使用Microsoft .NET Passport来访问服务,如Hotmail、Messenger。如果用Passport服务注册了自己的站点,用户就可以使用相同的Passport来访问自己的站点,不需要记住不同系列的凭据。,表8-2 Forms认证配置项说明,2Web的授权 在用户通过认证,并能够访问Web站点之后,应用程序必须确定用户可以访问的页面和资源,即授权。在ASP.NET中包括文件授权和URL授权。 1) 文件授权 文件授权是Windows操作系统提供的一种授权机制,我们可以为NTF

13、S文件系统格式的盘符中的任意文件或者文件夹设置权限。这些权限存储在访问控制列表(ACL)中,这个列表是与文件存储在一起的。ASP.NET文件授权模块可以使用这些权限来控制对Web应用程序中资源、页面和文件夹的访问。,要使用File授权,需要首先配置应用程序,使其可以使用Windows认证,然后为Web站点中的文件和文件夹分配权限。在Web.Config文件中,将系统配置为Windows认证和文件授权,并且在Web站点中指定相应目录或文件的权限,那么,整个认证和授权的过程将在ASP.NET的帮助下自动完成。,2) URL授权 通过URL授权可以显式地允许或拒绝某个用户名和角色对特定目录的访问权限

14、。为此,应在该目录的配置文件中创建一个authorization节。若要启用URL授权,可在配置文件的authorization节中的allow或deny元素中指定一个用户或角色列表。为目录建立的权限也会应用到其子目录,除非子目录中的配置文件重写这些权限。,Authorization节的基本格式如下: Allow与deny元素必选其一,分别表示授予访问权限和撤销访问权限。users与roles必选其一,也可同时包含二者,verbs属性为可选项,其属性说明如表8-3所示。,表8-3 authorization中元素属性说明,下面的例子对Rose用户和Admins角色的成员授予访问权限,对John

15、用户(除非Admins角色中包含John用户)和所有匿名用户拒绝访问权限。 下面的例子允许对John用户授予访问权限,并拒绝所有其他用户的访问权限。, 下面的例子允许对John用户、Kim用户授予访问权限。 下面的例子允许所有用户对某个资源执行HTTP GET操作,但是只允许Rose用户执行POST操作。, 由于系统中存在多个配置文件,因此在执行时可能要对这些配置项进行合并。合并的规则如下:, 应用程序级别的配置文件中包含的规则优先级高于继承的规则。系统通过构造一个URL的所有规则的合并列表,规则的优先级别由列表中规则的排列顺序所确定。 给定应用程序的一组合并的规则,ASP.NET从列表头开始

16、检查规则,直至找到第一个匹配项为止。ASP.NET的默认配置包含向所有用户授权的元素。如果其他授权规则都不匹配,则允许该请求。如果找到匹配项,并且它是deny元素,则向该请求返回401 HTTP状态代码。如果与allow元素匹配,则模块允许进一步处理该请求。,还可以在配置文件中创建一个location元素,以指定特定文件或目录,location元素中的设置将应用于这个文件或目录。,3利用控件创建安全页 ASP.NET 2.0 提供了一组用户管理控件,这些控件中大多数都不是单一的标准控件,而是多个控件的组合。利用这些控件可以非常方便地完成用户的认证和授权。这些控件包括: Login:用户登录控件。 CreateUs

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

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

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