ASP.NET应用程序开发实用教程 教学课件 ppt 作者 宋楚平 第8章 ASP.NET的配置和安全

上传人:E**** 文档编号:89354600 上传时间:2019-05-23 格式:PPT 页数:33 大小:361KB
返回 下载 相关 举报
ASP.NET应用程序开发实用教程 教学课件 ppt 作者  宋楚平 第8章 ASP.NET的配置和安全_第1页
第1页 / 共33页
ASP.NET应用程序开发实用教程 教学课件 ppt 作者  宋楚平 第8章 ASP.NET的配置和安全_第2页
第2页 / 共33页
ASP.NET应用程序开发实用教程 教学课件 ppt 作者  宋楚平 第8章 ASP.NET的配置和安全_第3页
第3页 / 共33页
ASP.NET应用程序开发实用教程 教学课件 ppt 作者  宋楚平 第8章 ASP.NET的配置和安全_第4页
第4页 / 共33页
ASP.NET应用程序开发实用教程 教学课件 ppt 作者  宋楚平 第8章 ASP.NET的配置和安全_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《ASP.NET应用程序开发实用教程 教学课件 ppt 作者 宋楚平 第8章 ASP.NET的配置和安全》由会员分享,可在线阅读,更多相关《ASP.NET应用程序开发实用教程 教学课件 ppt 作者 宋楚平 第8章 ASP.NET的配置和安全(33页珍藏版)》请在金锄头文库上搜索。

1、第8章 配置和安全,ASP.NET提供了一个丰富和强大的配置系统,通过配置文件Web.Config,管理员和开发人员能够轻松和快速建立Web应用程序的应用环境.本章主要学习以下内容: 本章重点: 配置文件基本结构 常用配置节 安全性配置,8.1 配置文件的基本结构,SP.NET应用程序的配置信息包含在一组名为Web.Config的一个XML文件中,每个配置文件包含嵌套的层次结构标记。除了应用程序根目录下默认的Web.Config配置文件外,在应用程序的子目录下,也可定义该目录下的配置文件。另外在位于WINNTMicrosoft.NETFrameworkVersionNumberConfig目录

2、下还有一个名为Machine.config的配置文件,该文件是计算机级别的配置文件。,8.1.1 配置文件的特点,配置文件既具有可读又具有可写的纯文本格式,管理人员和开发人员可以使用任何标准的文本编辑器、XML分析器或脚本语言解释和更新配置设置。 每个配置文件都包含 XML 标记和子标记的嵌套层次结构,这些标记带有指定配置设置的属性。因为这些标记必须是格式正确的 XML,所以标记、子标记和属性是区分大小写的。,对配置文件的更改由系统自动检测并在不需要任何用户参与的情况下生效。即不需要重新启动Web服务器就可应用。 每个目录都可以有自己的配置文件,此配置文件的设置应用在此目录及其所有的子目录中。

3、 ASP.NET通过配置IIS组织对配置文件的直接浏览器访问,保护配置文件不被外部访问,任何企图直接请求配置文件的浏览器被返回HTTP访问错误403。,8.1.2 配置文件的结构,所有配置信息都驻留在和根XML 标记之间。标记间的配置信息分为两个主区域:配置节处理程序声明区域和配置节设置区域。 配置节处理程序声明出现在配置文件顶部和标记之间。包含在 标记中的每个声明都指定提供特定配置数据集的节的名称和处理该节中配置数据的 .NET Framework 类的名称。,配置节设置区域位于区域之后,它包含实际的配置设置。区域中的每个声明都有一个配置节。每个配置节都包含子标记,这些子标记带有包含该节设置

4、的属性 。,示例Web.config 文件,配置节处理程序声明,配置节设置,配置节设置,8.2 常用配置设置,通用配置设置 应用程序配置 页面配置 会话配置 自定义错误配置 身份验证配置,8.2.1 httpRuntime通用配置,使用配置设置,可以进行普通应用程序配置设置,如一个请求超时之前的处理时间,一个请求的最大长度,或指示客户端重定向是否是完全限定的格式等等。以下是节常用的配置代码。 ,表8-2 的主要属性,8.2.2 pages配置,通过页面配置我们可以控制所有ASP.NET页面的一些默认行为。下面是一个关于页面配置的Wen.Config文件,它限制了页面的默认行为。 enableS

5、essionState=“true“ enableViewState=“true“ autoEventWireup=“true“ / ,8.2.3 appSettings配置,利用配置节可以将应用程序中的一些配置细节存储在配置文件中,而不额外需要编写自己的配置项处理程序。通过“关键字/值”的形式来保存在应用程序中需要访问的值。以下代码是将数据库的连接字符串保存中配置节中的例子。 ,在页面中读取配置文件中的存储值示例, using System.Configuration; 1:private void Page_Load(object sender, System.EventArgs e) 2

6、: 3: string connstr=ConfigurationSettings.AppSettings“connstr”.Trim()+ 4: Server.MapPath(“student.mdb“); 5: string tablestr=“; 6: OleDbConnection conn=new OleDbConnection(connstr); 7: OleDbCommand comm=new OleDbCommand(“select * from student“,conn); 8: conn.Open(); 9: OleDbDataReader dr=comm.Execute

7、Reader(); 10: tablestr=“; 11: tablestr+=“; 12: tablestr+=“学号姓名性别籍贯“; 13: tablestr+=“;,14: while(dr.Read() 15: 16: tablestr+=“; 17: for(int i=0;i“+dri.ToString().Trim()+“; 20: 21 tablestr+=“; 22: 23: tablestr+=“; 24: Response.Write(tablestr); 25:,图8.1 读取配置节测试页面,8.2.4 customErrors配置,配置项提供灵活的允许自定义错误页面,

8、并在发生任何特定错误时,将浏览器重定向到指定的错误页面。典型的配置语法见以下代码。 ,表8-3 标记的主要属性,8.2.5 globalization配置,标记能设置ASP.NET进程处理ASP.NET页面使用的编码和发送给客户端数据的编码。比如要使用纯中文的Web应用程序,那么可以使用如下的配置节。 示例程序见下图,8.3 安全性配置,ASP.NET应用的安全通常是设计的一个关键,特别在企业级的应用当中,安全问题是一个非常重要的环节,甚至决定了开发程序是否成功应用的关键。在ASP.NET中,通过配置文件就可以指定相关的身份验证配置,如基于Windows帐号验证、表单验证和Passport验证

9、等,以达到保护信息的目的。 基于Windows帐号验证 表单验证 Passport验证,8.3.1 基于Windows帐号验证,特点 1.这种验证方式不需要把用户名和密码保存到后台数据库,也不需要在程序代码中进行密码的比较。 2.用户名和密码的安全性相当高,但系统开销比较大 。 适用场合 基于Windows帐号的身份验证通常不适用于公有Web站点。但在开发企业内部基于Web结构的软件时,基于Windows帐号验证则具有很大的优势。,Windows验证示例 第一步-设置配置信息,在Web.config配置文件中,通过配置节实现身份验证。以下是基于Windows验证模式的配置代码。 ,第二步 操作

10、配置IIS,图8.5 用户访问时要求输入用户名和密码,在运行Windows.aspx页面时的界面,图8.6 显示用户的身份信息,8.3.2 基于表单验证,ASP.NET基于表单的验证方式与经典ASP验证非常类似,验证后的用户信息保存在Session中,但不需要手动创建Session变量,也不需要在所有需要保护的页面添加验证代码来判断用户的身份,而是通过Web.config配置文件设置保护哪些页面。 适用场合: 用户是未知的,或用户信息量大,需要通过数据库来进行管理。,与示例程序对应的Web.config文件的代码,1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:,登

11、录页面login.aspx的类代码文件:, 11:using System.Data.OleDb; 12:using System.Web.Security; 13:namespace chapter8 14: 15: / 16: / logi 的摘要说明。 17: / 18: public class logi : System.Web.UI.Page 19: 20: protected System.Web.UI.HtmlControls.HtmlInputText userid; 21: protected System.Web.UI.HtmlControls.HtmlInputText

12、 Psw; 22: protected System.Web.UI.HtmlControls.HtmlInputButton Submit1; 23: #region Web 窗体设计器生成的代码 24: override protected void OnInit(EventArgs e) 25: 26: / CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 27: InitializeComponent(); 28: base.OnInit(e); 29: ,30: private void InitializeComponent() 31: 32: this.Su

13、bmit1.ServerClick += new System.EventHandler(this.Submit1_ServerClick); 33: 34: #endregion 35: private void Submit1_ServerClick(object sender, System.EventArgs e) 36: 37: string user_id=this.userid.Value.Trim(); 38: string password=Psw.Value.Trim(); 39: string connstr=“provider=microsoft.jet.oledb.4

14、.0; data source=“+Server.MapPath(“student.mdb“); 40: OleDbConnection conn=new OleDbConnection(connstr); 41: string sqlstr=“select * from student where stud_id= “+user_id +“ and psw=“+password+“; 42: OleDbCommand comm=new OleDbCommand (sqlstr,conn); 43: conn.Open(); 44: OleDbDataReader dr=comm.Execut

15、eReader();,45: if(dr.Read() 46: 47: FormsAuthentication.RedirectFromLoginPage(user_id,false); 48: 49: else 50: 51: this.RegisterStartupScript(“errormess“,“alert( 用户名或密码不对!);“); 52: 53:: conn.Close(); 54: 55: 56:,图8.8 登录页面,图8.9 成功登录的运行界面,在访问站点后,如果要安全退出系统,可以通过如图8.11所示的演示页面来实现。,“安全退出”按钮的Click事件代码如下: 1:

16、private void Button1_Click(object sender, System.EventArgs e) 2: 3: FormsAuthentication.SignOut(); 4: Response.Redirect(“default.aspx“); 5:,8.3.3 基于Passport验证,Passport身份验证由Microsoft提供的集中身份验证服务,可以用来在位于Internet的任何启用护照的站点上验证用户。 在ASP.NET应用程序中执行Passport验证的步骤。 从http:/ Passport SDK,其中必须填写注册表单以获取SDK。如果操作系统是Windo

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

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

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