《09第9章Web应用程序的结构与设置.ppt》由会员分享,可在线阅读,更多相关《09第9章Web应用程序的结构与设置.ppt(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第9章 Web应用程序的结构与设置 本章学习目标nWeb应用程序的结构nWeb应用程序的配置方法n网站的安全性 第9章 Web应用程序的结构与设置9.1 Web应用程序的结构9.2 Web应用程序的配置9.3 网站的安全性 9.1 Web应用程序的结构 按照惯例,每个Web应用程序拥有私有的变量和内存空间,不能共享变量和某些资源;因此,如果存在多个不同的Web应用程序,就必须分别予以设置,在ASP.NET中,可以建立Global.asax文件以保存设置信息。9.1.1 Application对象和Seeeion对象的用途9.1.2 Global.asax的结构 9.1.1 Applicatio
2、n对象和Seeeion对象的用途 Web应用程序工作在B/S模式下。即最终用户通过浏览器,访问驻留在Web服务器上的多个页面。当用户所访问的页面或页面集合中含有需要在服务器端运行的代码时,这些页面或页面集合就构成了Web应用程序。ASP.NET网页是传统的HTML标记和可运行于服务器端的代码的混合体。服务器端处理能力为ASP.NET网页提供了十分强大的交互功能。一个Web应用程序一般包含多个页面,也可被多个用户访问。不同的页面、不同的用户,有时是需要共享数据的。下图是一个简化了的基于Web的图书流通系统。该系统存在多个ASP.NET页面,其中一些页面提供用户操作界面,负责接收用户的查询或借阅;
3、一些页面则根据用户请求,从数据库中检索信息,然后将检索结果转换成HTML文档回送到浏览器端;而另一些页面则负责接收用户的借还请求,并根据图书的流通现状改写数据库中的相关信息。9.1.1 Application对象和Seeeion对象的用途 在IIS/ASP.NET环境下,可以利用Application对象定义“应用程序范围(Application Scope)”的变量、声明应用程序范围的对象、设计应用程序范围的事件处理过程等。而Session对象则用于定义、声明设计“用户层”的变量、对象及事件处理过程。Session对象中的信息只对特定的用户有效。换言之,Seeeion对象、变量、事件处理过程
4、只属于一位用户。9.1.2 Global.asax的结构 1虚拟目录虚拟目录是指向实际目录的指针。除了便于组织资源之外,使用虚拟目录的另一个原因是,在默认的情况下,虚拟目录同时具有Web应用程序的身份。当然,根据需要,也可以取消其Web应用程序身份。根据下图1对话框提供的信息可知,虚拟目录“test”是一个名为“test”的Web应用程序,欲取消其Web应用程序身份,可在该对话框中单击“删除”按钮。虚拟目录被取消Web应用程序身份后,其属性对话框如图2所示,若需要将其重置为Web应用程序,可在该对话框中单击“创建”按钮,然后输入应用程序名称。图1 图29.1.2 Global.asax的结构
5、2Global.asax的结构 在Global.asax文件中,可以包含16个事件过程。对开发者而言,较为重要的是个事件的执行顺序。在一个客户端需求从提交到真正执行、返回结果的过程中,通常触发的各事件队列如下:客户端需求 Application_BeginRequestApplication_AuthenticateRequestApplication_AuthorizeRequest Application_ResolveRequestApplication_AcquireRequestState Application_PreRequestHandlerExecute真正处理的ASP.NE
6、T页面 Application_PreRequestHeadersSent Application_ReleaseRequestState Application_UpdateRequestCache Application_EndRequest 返回结果给客户端下面是一个简单的Global.aspx文件,其中列出了16个事件过程,每个过程中只包含输出字符串的简单操作,以表明过程是否被调用。用于测试事件触发次序的程序是Prac09-01.aspx。测试结果如图所示。9.2 Web应用程序的配置 Web.config是一个可存储Web应用程序配置参数的文件。9.2.1 Web.config 下图
7、是在Internet服务管理器MMC中对Web应用程序进行配置的一个对话框,在此对话框中,可以指定是否启用会话状况、是否启用缓冲等等。上述方式直观、简单,但是,“配置”与Web应用程序相对独立,将一个Web应用程序从服务器A复制到B后,为了保证Web应用的性态不改变,一般必须以对话方式重新对其进行配置。为了解决上述问题,ASP.NET允许将Web应用程序的配置信息写入一个名为Web.config的XML文档,此文档一般可称为配置文件。9.2 Web应用程序的配置 9.2.2 配置文件的结构配置文件是标准的XML文档,主要由节处理和节配置两部分构成。下面是一个简单的配置文件。在上列配置文件中,节
8、处理部分位于标记、之间,而节配置部分位于标记、之间。配置文件中可包含通用节,也可包含Web开发者自行定义的节。9.3 网站的安全性 在Internet上,绝大多数Web站点都是可以随意访问的。但是,也有少量的Web站点,必须考虑其安全性,只允许拥有合法凭证(一般指账号和密码)的用户访问。一 般 而 言,安 全 性 包 含 两 部 分 内 容,一 是 身 份 确 认,称 为 认 证(Authenticate);另 一 部 分 则 是 资 源 访 问 权 限 确 认,称 为 授 权(Authorize)。可以认为,认证和授权是保护Web站点的两把锁,拥有两把钥匙的人才能顺利访问被保护的资源。在有关
9、Web站点安全性的应用上,通常用“认证”机制保护一般资源(通过认证者将被全部被授权),用授权保护特殊资源(通过认证者中,只有部分用户被授权)。在数据库中存储账号、密码、使用权限等信息后,于ASP.NET页面中置入适当的程序,可以完成对身份和访问权限的检查,将不速之客拒之门外。在Web.config文件中写入必要的信息,然后辅之以必要的代码,也可实现同样的功能。9.3 网站的安全性 下面是一个利用配置文件实现的Web站点安全保护模块。该模块的设计思路是,将认证和授权信息存储在配置文件中,当用户请求首次访问任一受保护的页面时,将被自动重定向到一个要求输入账号和密码的登录页面,待用户提供合法的身份标识后,方可访问受保护的页面。该模块包括Web.config、Prac09-02.aspx(被保护页面)和Login.aspx(登录页面)等3个文件。在实际应用中,所有在上述文件所在目录或在此目录的子目录中的.aspx文件都能够被自动保护,而不需要进行任何额外设置。本例运行结果如图所示,请仔细阅读源码。