asp.net应用开发教程教学资源案例16 web系统安全和部署

上传人:繁星 文档编号:88247182 上传时间:2019-04-22 格式:PPT 页数:47 大小:5.79MB
返回 下载 相关 举报
asp.net应用开发教程教学资源案例16 web系统安全和部署_第1页
第1页 / 共47页
asp.net应用开发教程教学资源案例16 web系统安全和部署_第2页
第2页 / 共47页
asp.net应用开发教程教学资源案例16 web系统安全和部署_第3页
第3页 / 共47页
asp.net应用开发教程教学资源案例16 web系统安全和部署_第4页
第4页 / 共47页
asp.net应用开发教程教学资源案例16 web系统安全和部署_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《asp.net应用开发教程教学资源案例16 web系统安全和部署》由会员分享,可在线阅读,更多相关《asp.net应用开发教程教学资源案例16 web系统安全和部署(47页珍藏版)》请在金锄头文库上搜索。

1、案例16 Web系统安全和部署,授课课时:4课时(180分钟) 主编:刘志成,2,16.1 案例描述,Web网站的安全最基本的是用户输入环节,要求具备防范SQL语句的注入式攻击的能力,以避免给Web系统带来严重的安全威胁。更进一步的可以通过ASP.NET和IIS提供的身份验证策略、授权策略等构建一个多层次的安全体系以保障Web系统的安全。SQL语句注入式攻击的示例如图所示 。,案例描述,3,16.2 案例完成步骤,16.2.1 使用参数化查询,1创建样例数据库 本案例要求在SQL Server 2005数据库管理系统中创建名称为Security的数据库,其中包含一个名称为tb_Users的数据

2、表用来保存Web系统的用户信息。创建数据库的脚本如下。,4,16.2 案例完成步骤,16.2.1 使用参数化查询,2界面设计 (1)创建一个名称为SecurityDemo的网站。 (2)将SecurityDemo项目中的默认的Default.aspx改名为Login1.aspx。 (3)布局页面 Login1页面主要Label、TextBox、Button控件组成,这些控件的主要属性见下表。,5,16.2 案例完成步骤,16.2.1 使用参数化查询,6,16.2 案例完成步骤,16.2.1 使用参数化查询,最终得到的页面设计效果如图所示。该页面所对应form部分的代码参阅教材。,7,16.2

3、案例完成步骤,16.2.1 使用参数化查询,3配置Web.Config文件 本次案例要实现连接和操作数据库的功能,因此将数据库的连接字符串保存在Web.Config文件中。在Web.Config文件中配置连接字符串如下所示: 其中SQL Server 2005数据库服务器名称为.sql2005,数据库名称为Security,登录用户名为sa,密码为123456。,8,16.2 案例完成步骤,16.2.1 使用参数化查询,4实现普通登录功能 普通登录功能使用普通的方式构建SQL语句进行用户名和密码的验证,最终实现的普通登录按钮事件如下所示,9,16.2 案例完成步骤,16.2.1 使用参数化查询

4、,Login1.aspx运行后,输入用户名demo和密码demo,单击“普通登录”按钮,调用btnLogin_Click方法进行用户名和密码的验证,验证通过后在两个标签中分别显示登录成功信息和SQL语句信息,程序运行结果如图所示。,10,16.2 案例完成步骤,16.2.1 使用参数化查询,5实现安全登录功能 普通登录功能使用普通的方式构建SQL语句进行用户名和密码的验证,最终实现的安全登录按钮事件代码如下所示 。,11,16.2 案例完成步骤,16.2.1 使用参数化查询,Login1.aspx运行后,输入用户名demo和密码demo,单击“安全登录”按钮,调用btnLoginBetter方

5、法进行用户名和密码的验证,验证通过后在两个标签中分别显示登录成功信息和SQL语句信息(输入的用户名和密码受到保护),程序运行结果如图所示。,12,16.2 案例完成步骤,16.2.2 使用表单身份验证,表单身份验证的开发步骤如下: 将IIS 配置为使用匿名访问; 将ASP.NET 配置为使用表单身份验证; 创建登录Web 表单并验证提供的凭据; 从自定义数据存储中检索角色列表; 创建表单身份验证票证(在票证中存储角色); 创建一个IPrincipal 对象; 将IPrincipal 对象放到当前的HTTP 上下文中; 基于用户名/角色成员身份对用户进行授权。,13,16.2 案例完成步骤,16

6、.2.2 使用表单身份验证,1创建存储过程sp_getUserInfo 由于要使用加密字符串,这里借助于存储过程来根据指定的用户名获得其密码。创建存储过程sp_getUserInfo的脚本如下:,14,16.2 案例完成步骤,16.2.2 使用表单身份验证,2配置Web.Config文件 在Web.Config文件中添加启用Forms表单验证的语句如下: 由于使用相同的数据库,该实例使用的连接字符串的同上例,在此不做重复配置。,15,16.2 案例完成步骤,16.2.2 使用表单身份验证,3设计和实现注册页面 (1)在SecurityDemo网站中新建名称为Register.aspx的Web页

7、面。 (2)设计注册页面 Register页面主要Label、TextBox、Button和验证控件组成,这些控件的主要属性见下表。,16,16.2 案例完成步骤,16.2.2 使用表单身份验证,最终得到的页面设计效果如图所示。,17,16.2 案例完成步骤,16.2.2 使用表单身份验证,18,16.2 案例完成步骤,16.2.2 使用表单身份验证,19,16.2 案例完成步骤,16.2.2 使用表单身份验证,程序运行后,输入用户名和密码(分别为formdemo),如图所示。单击“注册”按钮,首先由验证控件完成数据输入的合法性验证,再把用户名和加密后的密码写入到数据库,注册成功将会显示“注册

8、成功”的信息,如图所示。,20,16.2 案例完成步骤,16.2.2 使用表单身份验证,在SQL Server 2005中查看到新注册的用户信息,我们发现该用户的u_Pass和u_SaltPass都已经被加密,如图所示。,21,16.2 案例完成步骤,16.2.2 使用表单身份验证,4设计和实现登录页面(Login2.aspx) (1)在SecurityDemo网站中新建名称为Login2.aspx的Web页面。 (2)设计登录页面 Login2.aspx页面的设计与注册页面Register.aspx页面大同小异,主要增加了一个CheckBox用于选择是否保存Cookie,页面控件及其详细属性

9、在此不再重复。最终得到的页面设计效果如图所示 。,22,16.2 案例完成步骤,16.2.2 使用表单身份验证,(3)实现注册功能 本程序对输入的用户和密码进行验证,最终完成的“登录”按钮的事件代码如下:,23,16.2 案例完成步骤,16.2.2 使用表单身份验证,(3)实现注册功能 本程序对输入的用户和密码进行验证,最终完成的“登录”按钮的事件代码参阅教材。,24,16.2 案例完成步骤,16.2.2 使用表单身份验证,5设计和实现测试页面(Test.aspx) (1)在SecurityDemo网站中新建名称为Test.aspx的Web页面。 (2)设计测试页面 Test.aspx页面使用

10、四个标签用于显示登录用户名和用户身份。并通过一个“注销”按钮返回。最终得到的页面设计效果如图所示。,25,16.2 案例完成步骤,16.2.2 使用表单身份验证,(3)实现注销功能 本程序用于显示已注册的用户名及其身份,并提供注销功能,最终完成的页面启动时和“注销”按钮的事件代码如下,26,16.2 案例完成步骤,16.2.2 使用表单身份验证,6运行程序 使用注册程序进行用户注册后,启动Login2.aspx程序,输入用户名和密码(分别为formdemo),如图所示。单击“登录”按钮,首先由验证控件完成数据输入的合法性验证,再进行用户名和密码验证,登录成功将会跳转到测试页面(Test.asp

11、x)并显示登录用户的信息,如图所示。,27,16.2 案例完成步骤,16.2.3 发布与测试ASP.NET程序,1发布ASP.NET程序 (1)打开“SecurityDemo”网站,在“解决方案资源管理器”中,右键单击要发布的网站SecurityDemo,在弹出菜单中选择“发布网站”,如图所示。打开“发布网站”对话框。,28,16.2 案例完成步骤,16.2.3 发布与测试ASP.NET程序,(2)在“发布网站”对话框中,在该对话框中的“目标位置”文本框中输入或通过单击右侧的按钮选择要发布网站的目标位置,这里发布网站的目标位置为“e:Security”,如图所示。,29,16.2 案例完成步骤

12、,16.2.3 发布与测试ASP.NET程序,(3)单击“确定”按钮,Microsoft Visual Studion 2005将编译网站的内容,并将编译的文件输出到指定的文件夹中,在“输出”窗口将会显示编译的进度信息,如果编译时发生一个错误,“输出”窗口会报告该错误。发布成功后在目标文件夹(E:Security)可以查看到发布后的文件,如图所示 。,30,16.2 案例完成步骤,16.2.3 发布与测试ASP.NET程序,2测试发布的网站 网站发布完成后,可以通过Web服务器运行网站来对网站进行测试。要运行网站有两种方法可以实现,一是创建一个指向目标文件夹的IIS虚拟目录;二是将发布后的目标

13、文件夹设置为Web共享。 方法一:配置IIS虚拟目录 使用IIS管理工具创建虚拟目录的主要操作步骤如下。 (1)打开“控件面板”中的“管理工具”,双击“Internet信息服务管理器”,打开 “Internet信息服务(IIS)管理器”对话框。 (2)在“Internet信息服务(IIS)管理器”中,依次选择“网站”“默认网站”节点,单击鼠标右键,在弹出的菜单中,选择“新建”“虚拟目录”命令,如图所示。,31,16.2 案例完成步骤,16.2.3 发布与测试ASP.NET程序,32,16.2 案例完成步骤,16.2.3 发布与测试ASP.NET程序,(3)打下“虚拟目录创建向导”对话框,单击“

14、下一步”按钮,打开“虚拟目录别名”对话框,在“别名”文本框中输入虚拟目录的别名,这里虚拟目录别名为“Security”,如图所示。然后单击“下一步”按钮,打开“虚拟内容目录”对话框,这里指定虚拟目录站点的路径为“E:Security”,如图所示。,33,16.2 案例完成步骤,16.2.3 发布与测试ASP.NET程序,(4)完成虚拟目录路径设置之后,单击“下一步”按钮,打开“访问权限”对话框,选择相应的权限,如图所示。单击“下一步”按钮弹出“Internet管理器”对话框,选择“是”按钮,弹出“已完成虚拟目录创建向导”对话框,单击“完成”按钮,虚拟目录创建成功。返回“Internet信息服务

15、”对话框。,34,16.2 案例完成步骤,16.2.3 发布与测试ASP.NET程序,方法二:设置Web共享 首先选择Web项目所在的文件夹(如E:Security),然后右击文件夹,在打开的快捷菜单中选择“共享和安全”命令或者选择“属性”命令打开“属性”对话框,切换到“Web共享”选项卡,如图所示。,35,16.2 案例完成步骤,16.2.4 打包与安装网站,1打包网站 打包就是制作安装程序即将应用程序包装成易于部署的形式,包装好之后的应用程序可以方便地安装到目标服务器上。打包网站的操作步骤如下。 (1)打开“SecurityDemo”网站。 (2)选择“文件”“添加”“新建项目”命令。 (

16、3)打开“添加新项目”对话框,在“项目类型”列表中选择“其他项目类型”“安装和部署”节点,在右侧的“模板”列表中选择“Web安装项目”,在“名称”文本框中输入存放打包网站的文件夹名称,在“位置”文本框中输入存放打包网站文件夹的目标地址,设置结果如图所示。,36,16.2 案例完成步骤,16.2.4 打包与安装网站,37,16.2 案例完成步骤,16.2.4 打包与安装网站,(4)单击“确定”按钮,Web安装项目已经添加到“解决方案资源管理器”中,并且“文件系统编辑器”处于打开状态,如图所示。,38,16.2 案例完成步骤,16.2.4 打包与安装网站,(5)在“文件系统编辑器”中右键单击“We

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

当前位置:首页 > 办公文档 > 工作范文

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