WEB数据库期末复习课件.ppt

上传人:牧羊曲112 文档编号:1289971 上传时间:2022-11-04 格式:PPT 页数:86 大小:549.29KB
返回 下载 相关 举报
WEB数据库期末复习课件.ppt_第1页
第1页 / 共86页
WEB数据库期末复习课件.ppt_第2页
第2页 / 共86页
WEB数据库期末复习课件.ppt_第3页
第3页 / 共86页
WEB数据库期末复习课件.ppt_第4页
第4页 / 共86页
WEB数据库期末复习课件.ppt_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《WEB数据库期末复习课件.ppt》由会员分享,可在线阅读,更多相关《WEB数据库期末复习课件.ppt(86页珍藏版)》请在三一办公上搜索。

1、WEB数据库期末复习,丁健龙,WEB数据库期末复习丁健龙,考试时间,问答和分析题目闭卷考试时间:40分钟上机题目开卷考试时间80分钟,考试时间问答和分析题目,题型,简答题(30%;6分一题) 5题分析题(14%;7分一题)2题上机题(56%)1题数据库设计(10)页面设计:(46),题型简答题(30%;6分一题) 5题,第一章 ASP.NET概述,第一章,静态网页与动态网页,什么是服务器端、客户端?区别静态与动态网页的主要标志是:程序是否在服务器端运行。网页的工作原理。,静态网页与动态网页什么是服务器端、客户端?,ASP.NET简介,.NET框架1)是什么?2)组成结构:,ASP.NET简介.

2、NET框架,ASP.NET的运行环境,服务器端安装软件:1)操作系统:Windows系列2)Internet信息服务:IIS 5.03).NET框架:.NET Framework4)MS数据访问组件:MDAC 2.7客户端安装软件 IE、Netscape浏览器软件,ASP.NET的运行环境服务器端安装软件:,静态网站开发,WEB数据库期末复习课件,网页,网页的学名称作HTML文件,是一种可以在www网上传输,并被浏览器认识和翻译成页面显示出来的文件www是“world wide web”的缩写HTML的意思则是“Hypertext Markup Language”,中文翻译为“超文本标记语言”

3、。“超文本”就是指页面内可以包含图片、链接、音乐、程序等非文字的元素,网页网页的学名称作HTML文件,是一种可以在www网上传输,,HTML文件的结构,一个HTML文件大体分为以下几部分: 网页标题网页的内容,HTML文件的结构一个HTML文件大体分为以下几部分:,页面字体文字布局图象表单表格多媒体,HTML标记,页面HTML标记,第二章 C#语言与面向对象的编程基础,第二章,第2章 C#语言与面向对象的编程基础,2.1 C#程序的开发2.2 数据类型2.3 运算符 2.4 控制语句 2.5 命名空间,第2章 C#语言与面向对象的编程基础2.1 C#程序的开发,2.2.2 类,类是面向对象编程

4、的基本构造块,是一种包含数据成员、函数成员和嵌套类型的数据结构。类的数据成员有常量、域和事件。函数成员包括方法、属性、操作符、构造函数和析构函数。类支持继承机制,通过继承、派生可以扩展类的数据成员和函数方法,进而达到代码重用和设计重用的目的。,2.2.2 类 类是面向对象编程的基,1. 类的定义格式为:属性 类修饰符 class 类名类体 其中,类修饰符包括:new、abstract、sealed、public、protected、internal、private。类体用于定义类的成员,类的成员中可以包含数据成员和函数成员。,1. 类的定义格式为:,2. 创建类的实例 在定义了类之后,就可以通

5、过new运算符来创建类的实例(即对象),类实例就是类类型的变量,其创建格式为: 类名 实例名即变量名=new 类名(参数); 实际上,类的实例的创建中,运算符new通过调用类的构造函数完成类的初始化工作。,2. 创建类的实例,(1) 类成员访问修饰符 类成员访问修饰符用于指定类成员的可访问性。C#共有public、private、protected和internal四个类成员访问修饰符。(2) 静态成员与实例成员 类的成员要么是静态成员,要么是实例成员。当用static修饰符定义成员时,得到静态成员,静态成员属于类,为这个类的所有实例所共享; 不用static修饰符定义的成员,称为实例成员,实

6、例成员属于类的实例。,静态成员,实例成员,类,实例,(1) 类成员访问修饰符 静态成员实例成员类实例,用修饰符static定义方法时,表示该方法为静态方法。未用修饰符static定义的方法为实例方法。 静态方法不对特定实例进行操作,不与实例相关联,它属于类,与类相关联,所以调用静态方法不需要创建类实例。要调用类的静态方法,只需要类名和方法名,中间加上圆点“.”运算符即可。静态方法只能访问类的静态成员,访问非静态成员是错误的。,用修饰符static定义方法时,表示该方法为静态,2.5 命名空间,命名空间(namespace)是C#中重要的一部分。本节介绍命名空间的概念,以及如何创建并使用命名空间

7、。,2.5 命名空间 命名空间(namespace,2.5.1 命名空间的概念,命名空间将相关的类归入到一个层次结构中,更好地组织类,避免命名冲突而且便于使用。微软.NET Framework类库中包含了80多个常用命名空间,如System、System.IO,System.Data等。一个命名空间限制了名字的范围,使它只在定义的名字空间中才有意义。,2.5.1 命名空间的概念 命名空间将相关的类归入,2.5.2 namespace和using关键词,1namespace关键字 创建新的命名空间,可以使用namespace关键字。关键字后跟命名空间的名字,将此命名空间中的对象用大括号括起来。N

8、amespace name.name1type-declarations /声明类型,2.5.2 namespace和using关键词1nam,2using关键字 using指令可以进行方法的特性调用,而不必一定使用完全限定名。格式如下: using 命名空间名; 这样,在声明某个类型的实例时,直接用此类型的名称即可。,2using关键字,第七章 网页间的数据共享,第七章,第7章 网页间的数据共享,一个基于B/S模式的系统,不可能只有一个页面,在很多情况下,需要多个页面来完成特定的功能,而这多个页面之间必然要产生一定的联系,也就是说,网页之间需要进行数据的共享。比如利用超级链接列在两个网页之间

9、传递参数,除此之外,还有更广泛的数据共享,比如使用Application对象、Session对象、文件等。下面先分析一下网页间共享数据的几种情况。,7.1 网页间共享数据的几种情况,第7章 网页间的数据共享 一个基于B/S模式的系统,,7.1.1同一网页内,在ASP.NET项目中,每个ASP.NET的页面都对应一个扩展名为.cs的程序文件,而这个程序文件是由多个函数组成,在这些函数之间需要进行数据共享,另外,由于页面状态会发生改变,也可能需要数据共享,比如由于在表单中按下按钮迫使页面重新执行,重新被执行的网页与原网页的状态就发生了改变。在同一网页内共享数据有如下几种方式。 1利用全局变量 2利

10、用服务器控件,7.1.1同一网页内 在ASP.NET项目中,每个AS,7.1.2. 同一窗口不同网页间,若某一功能需要多个网页来完成,而当用户是在同一个浏览器窗口先后进入这些网页,而不是中途打开新页面时,属于同一窗口内不同网页间的数据共享。前面介绍过的传递参数是解决这种情况下数据共享的一种方法,另外,利用Session对象、Cookies对象也非常普遍。,7.1.2. 同一窗口不同网页间 若某一功能需要多个网页,7.1.3同一机器不同窗口间,当用户在同一台机器上,打开多个浏览器窗口,浏览不同或相同的网页时,属于同一机器不同窗口间的数据共享,这种情况以利用Cookies对象最为普遍。,7.1.3

11、同一机器不同窗口间 当用户在同一台机器上,,7.1.4不同机器间,当有不同的用户在不同机器上浏览网页,可能浏览相同或不同的网页,可能同时或不同时浏览,这种情况属于不同机器间的数据共享。这种情况以利用Application对象、文件、数据库进行数据共享最为普遍。,7.1.4不同机器间 当有不同的用户在不同机器上浏览,上表中列出的只是普遍的状况,在编程时可以根据实际情况采取合适的方案,大多数情况下都会采取综合解决方案。,模式解决方案同一网页全局变量、服务器控件同一窗口不同网页参数,2Application对象的生命周期 如同变量有自己的生命周期一样,Application对象也是有生命周期的,它起

12、始于IIS开始运行,终结于IIS停止或关机时。当IIS停止运行或者服务器被关掉之后,存放在Application对象中的数据也随之消失,如果希望在IIS停止或者关机之后数据依然能够保存,就必须将数据存到文件或数据库里。,2Application对象的生命周期,该程序在页面提交(PostBack)之前将数据写入Session对象,页面提交之后(单击PostBack按钮),将数据从Session对象中取出来并写在页面上。,提交前的页面,提交后的页面,Session对象,该程序在页面提交(PostBack)之前将数据写入S,3Session对象的生存期 IIS服务器默认情况下设置Session对象的

13、生存期为20分钟,即,当用户在20分钟内没有访问任何网页,该用户所使用的Session对象会被全部释放。 可以通过两种方式修改Session的生存期限。第一种,可以通过Web.config文件,在Web.config文件中找到SessionState节,修改timeout=20这句话。第二种,可以在程序文件中修改,Session对象提供了Timeout属性用来设置Session的超时期限,单位是分钟,下面的语句将Session的生存期设置为60分钟。 Session.Timeout = 60;,3Session对象的生存期,7.4 Cookie对象,1Cookie和Application、Se

14、ssion的异同 首先,Application和Session对象中所共享的数据是放在服务器端,而Cookie对象的共享的数据放在客户端,其次,Cookie对象只能存放简单的数据类型,如数字、字符串、日期等,而Application和Session对象可以存放对象等复杂的数据类型,比如,可以把一个DataSet对象放到Session对象中,第三,Cookie对象和Session对象有些类似,每个浏览器拥有各自的Cookie和Session对象,而Application是所有用户共享一个对象。,7.4 Cookie对象1Cookie和Applica,7.4.2 Cookie对象的生命周期 默认情

15、况下,Cookie对象的生命周期起始于浏览器被执行时,终结于浏览器结束执行时,但经过设置之后,Cookie对象可以在客户端保留更长的时间。Cookie对象提供了Expires属性,用来设置Cookie的生命周期。它的用法如下: Response.CookiesUser.Value = Jack; DateTime dt = new DateTime(0,0,5); Response.CookiesUser.Expires = dt;,7.4.2 Cookie对象的生命周期,7.5 文件操作,利用文件来共享数据也是一种常用的方法,文件的生命周期比Application对象还要长,当IIS关闭或者

16、服务器关机的时候,Application对象也就随之消失,但是文件仍然保存在服务器上,不会受此限制。下面分别介绍如何读取和写入文件。,7.5 文件操作 利用文件来共享数据也是一种常用的方法,7.5.1 StreamReader对象与文件的读取,1打开文件 StreamReader对象是.NET提供的专门用于读取文件的对象,属于System.IO命名空间,使用前要首先将该命名空间引入。 using System.IO;string Path = Server.MapPath(Count.txt);StreamReader sr = new StreamReader(Path);,7.5.1 St

17、reamReader对象与文件的读取1打,7.5.2 StreamWriter对象与文件的写入,StreamWriter是写入文件的专用对象,和StreamReader一样,它也属于System.IO命名空间,使用之前也要引入该命名空间。 using System.IO;string Path = Server.MapPath(Count.txt); StreamWriter sw = new StreamWriter(Path,true,System.Text.Encoding.Default );,7.5.2 StreamWriter对象与文件的写入,第三章 Web窗体与控件,第三章,第3

18、章 Web窗体与控件,3.1 Web窗体 3.2 常用服务器端控件 3.3 服务器端数据验证控件 3.4 用户控件,第3章 Web窗体与控件3.1 Web窗体,3.1 Web窗体,Web窗体为Web提供了面向对象的编程方式,它将ASP的易用性与编译代码的速度优势结合起来。Web窗体是一项基于服务器的技术,即所有代码都是在服务器上运行。客户端是用户的浏览器。其执行顺序是这样的:,用户请求Web窗体页面,浏览器向Web服务器发送这个请求,服务器调用ASP.NET处理这个页面,该页面的输出是一个HTML流,被发送到客户端,3.1 Web窗体 Web窗体为Web提供了面,正表达式,方括号: 用于定义可

19、接受的字符ABCD :ABCD可接受 A-Z: A-Z 的字母都可接受0-9A-Z : 字母数字都可接受,正表达式方括号: 用于定义可接受的字符,反集合符号: 用于定义不可接受的字符 ABCD :ABCD不可接受 A-Z: A-Z的字母都不可接受,反集合符号: 用于定义不可接受的字符,花括号: 用于定义必须输入的字符数量9 : 必须输入9个字符2,5 :必须输入2到5个字符6, :必须输入6个以上字符,花括号: 用于定义必须输入的字符数量,小圆点: . 用于代表任意字符A. : A开头的,字符数量为2的字符串.3,9 :输入3到9个任意字符,小圆点: . 用于代表任意字符,竖线: | 用于表示

20、”或”逻辑A-Z0,9|0-93 :输入0到9个大写英文或3个数字小括号: ( ) 分块,竖线: | 用于表示”或”逻辑,斜线: 输出特殊的字符(,斜线: 输出特殊的字符,第四章 ASP.NET 数据库应用程序开发,第四章,7.1 SQL语言基础7.1.1 结构化查询语言(SQL)简介,SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据

21、等。目前,绝大多数流行的关系型数据库管理系统,如Oracle、Sybase、Microsoft SQL Server、Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括SELECT,INSERT,UPDATE, DELETE,CREATE以及DROP在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。,7.1 SQL语言基础 SQL是英文Str,7.1.2 SQL查询语句,SELECT语句主要被用来对数据库进行查询并返回符合用户查询标 准的结果数据。其语法格式如下:SELECT column1 , column2,etc FROM tabl

22、ename WHERE condition; ( 表示可选项)程序说明: SELECT语句中位于SELECT关键词之后的列名用来决定那些列将作为查询结果返回。用户可以按照自己的需要选择任意列,还可以使用通配符“*”来设定返回表格中的所有列。这个简单的语句包括三部分:(1) SELECT语句的第一部分指名要选取的列。 (2) SELECT语句的第二部份指明要从哪个(些)表中查询数据。(3) 最后,SELECT语句的WHERE子句指明要选择满足什么条件的记录。,7.1.2 SQL查询语句 SELECT语句,7.1.3 SQL更改记录语句,(1)用SQL更新记录 SQL语言使用UPDATE语句更新或

23、修改满足规定条件的现有记录。UPDATE语句的格式为:UPDATE tablename set columnname = newvalue , nextcolumn = newvalue2.WHERE columnname OPERATOR value and|or column OPERATOR value; 例如: UPDATE mytable SET first_column=UPDATEd! WHERE second_column=UPDATE Me!,7.1.3 SQL更改记录语句(1)用SQL更新记录,(2)用SQL删除记录 SQL语言使用DELETE语句删除数据库表格中的行或记录

24、。DELETE语句的格式为:DELETE FROM tablename WHERE columnname OPERATOR value and|or column OPERATOR value; DELETE 语句的完整句法如下:DELETE FROM table_name|view_name WHERE clause,(2)用SQL删除记录,(3)用SQL插入数据 SQL语言使用INSERT语句向数据库表格中插入或添加新的数据行。INSERT语句的使用格式如下:INSERT INTO tablename (first_column,.last_column) values (first_va

25、lue,.last_value); 这里有一个如何使用SQL语句向表中添加一个新记录的例子:INSERT mytable (mycolumn) VALUES (some data)INSERT 语句的完整句法如下:INSERT INTO table_name|view_name (column_list) DEFAULT VALUES |Values_list | SELECT_statement,(3)用SQL插入数据,7.1.5 SQL常用聚合函数,(1) AVG函数AVG函数用于求一组数据的平均值,空值将被忽略。语法形式如下:AVG ( ALL | DISTINCT expression

26、 )(2) COUNT函数COUNT函数用于求一组数据的数量。语法形式如下:COUNT ( ALL | DISTINCT expression | * )(3)SUM函数SUM函数用于求一组数据的和。语法形式如下:SUM ( ALL | DISTINCT expression )(4)MAX函数MAX函数用于求一组数据的最大值。语法形式如下:MAX ( ALL | DISTINCT expression )(5)MIN函数MIN函数用于求一组数据的最小值。语法形式如下:MIN ( ALL | DISTINCT expression ),7.1.5 SQL常用聚合函数(1) AVG函数,7.2.

27、4数据访问的几个命名空间,在ASP.NET文件中通过ADO.NET访问数据需要引入以下几个命名空间:System.DataSystem.Data.CommonSystem.XmlSystem.Data.OleDbSystem.Data.SqlClientSystem.Data.SqlTypesSystem.Data.OdbcSystem.Data.OracleClient,7.2.4数据访问的几个命名空间在ASP.NET文件中通,ADO.NET为使数据存取更为简单和效率而作出的两个最重要的改进:1离线数据集(Disconnected DataSet)ADO.NET会利用XML制作数据的一份副本

28、(快照副本snapshot),ADO.NET的数据库连接也只有在这段时间需要在线。2对XML的原生支持(XML Native Support) 由于ADO使用COM技术,这就要求所使用的数据类型必须符合COM规范,而ADO.NET基于XML格式,其数据类型更加丰富,并且不需要COM编排而导致的数据类型转换,从而提高了整体性能(DataSet的原生结构就是XML)。,ADO.NET为使数据存取更为简单和效率而作出的两个最重要的,WEB数据库期末复习课件,类名功能说明SqlConnection 代表与SQL Ser,图4.3 ADO.NET对象模型,图4.3 ADO.NET对象模型,7.3 Com

29、mand对象和DataReader对象,7.3 Command对象和DataReader对象,7.4 DataAdapter对象和DataSet对象,数据库,Connection,DataAdapter,Command,页面控件,页面控件,页面控件,SelectCommand,InsertCommand,DeleteCommand,UpdateCommand,DataSet,Fill(),DataBind(),7.4 DataAdapter对象和DataSet对象,WEB数据库期末复习课件,4.2.7 DataSet对象及使用,1 DataSet对象的概念DataSet对象基本上被设计成不和数

30、据源一直保持联机的架构,也就是说和数据源的联机发生的很短暂,我们在取得数据后就立即和数据源立即断线,等到数据修改完毕或是要操作数据源内的数据时才会再建立连接。这意味着程序和数据源要管理的连接就会变少,网络频宽不但可以得到舒缓,服务器的负载也会减轻。因此,DataSet对象允许在离线的本地高速缓存中存储和修改大量结构化关系数据以及绑定到不同的控件。,4.2.7 DataSet对象及使用1 DataSet对,4.3 数据访问途径,DataSet和DataReader哪一个更好? 当填充DataSet时,实际上是在后台利用DataReader获取数据,这就意味着利用DataSet读取数据是非常浪费的

31、,因为这里还需要通过另外一个层。DataSet表示内存中的的所有数据,而DataReader可以逐行处理数据。为了在DataSet和DataReader之间做出一个比较合理的选择,需要考虑应用程序所需的功能。,4.3 数据访问途径DataSet和DataReader,在应用程序需要以下功能时使用DataReader:(1)在不需要对数据做任何修改时,如仅读取和显示数据。(2)不需要缓冲数据。(3)正在处理的结果集太大而不能全部放入内存中。(4)需要迅速一次性访问数据,采用只向前的只读的方式。,在应用程序需要以下功能时使用DataReader:,如要进行如下操作,可以利用DataSet来实现。(

32、1)远程控制层之间交换数据或者使用一个XML WEB服务,与DataReader不一样的是DataSet可以被传递给一个远程的客户端。(2)在数据源连接处于关闭状态下处理大量的数据,这样使其他用户可以自由使用该连接。如果采用在DataReader返回的行上进行扩展处理的方式,将使连接打开的时间比必要时间更长,效率降低。,如要进行如下操作,可以利用DataSet来实现。,(3)在应用程序中本地缓存数据,通过缓冲重复使用相同的数据以提高性能(例如排序、搜索或过滤数据)。(4)操作多个数据源,比如将XML文件和Sql Server等多个数据源中的数据混合并发生关联。(5)一个DataSet可以包含多

33、个结果表,这些结果表是不连续的,可以分开处理这些表,也可以把这些表当作父子关系进行处理。(6)使用XML操作(例如XSLT转换和Xpath查询)维护数据。,(3)在应用程序中本地缓存数据,通过缓冲重复使用相同的数据以,在比较DataSet和DataReader时,我们应该认识到支持与DataSet数据绑定的控件也同样支持与DataReader的绑定。如下面的示例:DataSet ds=new DataSet();da.Fill(ds, Categories);DataGrid1.DataSource =ds.Tables Categories;DataGrid1.DataBind();通常,同

34、样的代码也可以用DataReader实现:SqlDataReader reader=cmd.ExecuteReader();DataGrid1.DataSource =reader;DataGrid1.DataBind();绑定到DataReader更高效,因为DataReader不会把结果集留在内存中让垃圾回收器来清理。,在比较DataSet和DataReader时,我们应该认识到,第五章 DataGrid控件与数据操作,第五章,第六章 ADO.NET与XML文件,第六章,6.1 XML概述,XML全称是eXtensible Markup Language,即可扩展标记语言。HTML(Hyp

35、ertext Markup Language,即超文本标记语言)SGML ( Standard Generalized Markup Language(通用标记语言标准),6.1 XML概述XML全称是eXtensible Mar,XMLDTDXML SchemasXSL,XML,6.1.2 XML文件组成结构实例,XML文档包含三个部分:(1)一个XML文档声明。(2)一个关于文档类型的定义。(3)用XML标记创建的内容。下面我们通过两个简单的XML文件实例来阐述XML文档的创建和基本组成部分。,6.1.2 XML文件组成结构实例XML文档包含三个部分:,基本上有两类相关的XML文档:良好格

36、式的(Well-formed)XML文档和有效的(Valid)XML文档。一个遵守XML语法规则,并遵守XML规范的文档称之为“良好格式”。如果一个XML文档的所有标记都严格遵守XML规范,那么这个XML文档就不一定需要DTD文件来定义它。,基本上有两类相关的XML文档:良好格式的(Well-for,一个遵守XML语法规则,并遵守相应DTD文件规范的XML文档称为“有效的”XML文档。比较“Well-formed XML”和“Valid XML”,它们最大的差别在于:一个完全遵守XML规范,一个则有自己的DTD,也因此Valid XML文档要设置standalone属性值为“no”,即stan

37、dalone=“no”,因为它必须和相应的DTD一起使用。,一个遵守XML语法规则,并遵守相应DTD文件规范的XML文,应注意的几点规则:(1)每个XML文档都必须以XML声明开始。(2)每个XML文档有且仅有一个根元素。如本例中的,同一个XML文档中不能有第二个根元素。(3)起始标记和结束标记必须匹配。,应注意的几点规则:,(4)标记之间不可以交叉。(5)在HTML中是不区分大小写的,而在XML文档中,大小写是有区别的,(6)所有的空标记必须被关闭。(7)给属性值加引号。(8)在XML中,任何元素中的内容均被视为数据。而在HTML中,多个空格被视为一个空格,XML将完全保留元素中的内容。,(

38、4)标记之间不可以交叉。,6.1.3 XML与数据库间的关系,XML与DBMS相同之处在于:(1)提供数据存储。关系数据以数据库系统为手段;XML以文件系统为手段。(2)提供对数据的直接存取访问。两者都不需要用户关心数据的物理结构。(3)提供数据的模式描述。XML采用DTD或XML Schema来描述数据的逻辑结构;关系数据通过关系模式来描述数据的逻辑结构。(4)提供应用逻辑接口。XML采用SAX(Simple API for XML)和DOM(Document Object Model)定义应用编程接口,使应用程序能够访问和更新XML文档的样式、结构和内容;关系数据采用ODBC、OLE DB

39、等。,6.1.3 XML与数据库间的关系XML与DBMS相同之处,XML的优点:第一,跨平台;第二,易表义;第三,可描述结构化、半结构化、甚至非结构化数据。XML的缺点: 第一,数据管理存在缺陷;第二,基于节点的搜索,速度受限;第三,解析手段有缺陷。第四,修改效率低。 第五,安全与并发机制。,XML的优点:,XML和关系数据库在数据应用和数据管理方面各有优势,是一种相辅相成、扬长避短的关系。在数据量小、用户少和性能要求不太高的环境下,可以将XML文档用作数据库XML在数据应用方面上具有易表义、跨平台等优势,但客观上需要一种有效的存储、检索和修改等方面的管理机制。在数据管理方面数据库尤其是关系数

40、据库具有其他方式(包括普通文件、XML文件、对象数据库)无法比拟的优越特性。而在应用方面,尤是在Web信息共享及异构应用数据交换方面,XML则是更好的选择。,XML和关系数据库在数据应用和数据管理方面各有优势,是一种,第8章 Web应用程序配置及安全性,8.1 ASP.NET应用程序的结构8.2 Web.config文件8.3 Global.asax文件8.4 ASP.NET应用程序的安全性概述8.5 Windows验证8.6 窗体验证,第8章 Web应用程序配置及安全性8.1 ASP.NET应,8.1 ASP.NET应用程序的结构,一个应用程序包含一个或多个以下文件类型:(1)包含Web窗体

41、的aspx文件。(2)包含用户控件的ascx文件。(3)包含配置设置的Web.config文件。(4)一个包含全局应用元素的Global.asax文件。(5)包含该应用程序所用到的自定义类型的DLL。,8.1 ASP.NET应用程序的结构一个应用程序包含一个或,8.4 ASP.NET应用程序的安全性概述,安全是Web应用程序体系结构中一个重要的部分。ASP.NET提供了应用程序级别的安全。它与IIS和Windows安全子系统协同工作,为构建安全站点提供了坚固的基石。当前开发的大多数应用程序都对验证、授权、模拟和加密服务有一定的需求。Microsoft在其核心框架中提供了这些特性,让开发人员能够

42、创建安全性非常高的软件。,8.4 ASP.NET应用程序的安全性概述安全是Web应,8.4.1 验证,ASP.NET主要支持Windows验证和窗体验证。Windows验证是最简单的安全系统。当选择Windows验证时,ASP.NET向IIS寻求帮助。IIS对调用者的身份进行验证后,把调用者的身份告诉ASP.NET。假设我们启用Windows验证而且用户请求了一个aspx文件。IIS验证用户并把该请求连同一个标识用户的访问令牌传递给ASP.NET,ASP.NET使用这个令牌来确保用户具有获得他所请求页面的权限。ASP.NET还把该令牌传递给所请求的应用程序,以便应用程序能够阻止用户访问他无权访

43、问的资源。,8.4.1 验证ASP.NET主要支持Windows验证,窗体验证依靠Web页中的登录窗体来验证用户。在窗体验证中,用户可以通过Web窗体提交证书。这些证书将与存储在XML文件或SQL数据库中的用户定义的授权信息进行匹配。通过验证后,验证证书将以cookie的形式存储在浏览器中,cookie用于为后续页面请求恢复安全环境。,窗体验证依靠Web页中的登录窗体来验证用户。在窗体验证中,,8.4.2 授权,客户通过验证后,涉及的安全问题便是文件和代码授权。验证弄清楚了用户是谁,授权则是决定了该用户能够访问什么资源。ASP.NET提供了两种授权方式:基于ACL、资源权限的授权方式和URL授权。,8.4.2 授权客户通过验证后,涉及的安全问题便是文件和,8.5 Windows验证,Windows验证有4种形式:基本验证简要验证集成验证证书验证,8.5 Windows验证Windows验证有4种形式:,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号