电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

jsp程序设计入门 沈泽刚、秦玉平 主编的java web 第二版 第09章 Web安全性入门

  • 资源ID:53698790       资源大小:220KB        全文页数:41页
  • 资源格式: PPT        下载积分:20金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要20金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

jsp程序设计入门 沈泽刚、秦玉平 主编的java web 第二版 第09章 Web安全性入门

第9章 Web安全性入门,此文档下载自官网,除本页,其余未修改,可直接删除本页,本章内容,9.1 Web安全性措施 9.2 安全域模型 9.3 定义安全约束 9.4 编程式的安全 9.5 小 结,9.1 Web安全性措施,Web应用程序通常包含许多资源,这些资源可被多个用户访问,有些资源要求用户必须具有一定权限才能访问。可以通过多种措施来保护这些资源。,9.1.1 理解验证机制,Web应用的安全性措施主要包括下面4个方面:1. 身份验证2. 授 权3. 数据完整性4. 数据保密性,9.1.2 验证的类型,在Servlet规范中定义了如下4种用户验证的机制: HTTP Basic 验证; HTTP Digest 验证; HTTPS Client 验证; HTTP FORM-based 验证。,1. HTTP Basic 验证,这种验证称为HTTP基本验证。当浏览器请求任何受保护资源时,服务器都要求一个用户名和口令。如果用户输入了合法的用户名/口令,服务器才发送资源。 优点:实现较容易,所有的浏览器都支持。 缺点:不能自定义对话框的外观。,2. HTTP Digest 验证,这种验证称为HTTP摘要验证,它除了口令是以加密的方式发送的,其他与基本验证都一样,但比基本验证安全。 缺点:它只能被IE 5以上版本支持;许多Servlet容器不支持,因为规范并没有强制要求。,3. FORM-based 验证,这种验证称为基于表单的验证,它类似于基本验证,但它使用用户自定义的表单来获得用户名和口令而不是使用浏览器的弹出对话框。 优点:所有的浏览器都支持,且很容易实现,客户可以定制登录页面的外观(Look And Feel)。 缺点:不安全。,4. HTTPS Client 验证,这种验证称为客户证书验证,它采HTTPS传输信息。 优点:它是4种验证类型中最安全的;所有常用的浏览器都支持这种验证。 缺点:它需要一个证书授权机构(如VeriSign)的证书;它的实现和维护的成本较高。,9.1.3 基本验证的过程,(1)浏览器向某个受保护资源(Servlet或JSP)发送请求,浏览器并不知道资源是受保护的,所以它发送的请求是一般的HTTP请求,例:GET /login.do HTTP/1.1 (2)当服务器接收到对资源的请求后,首先在访问控制列表(ACL)中查看该资源是否是受保护资源,如果不是,服务器将该资源发送给用户。如果发现该资源是受保护的,它并不直接发送该资源,而是向客户发送一个401 Unauthorized(非授权)消息。,(3)当浏览器收到上面响应,打开一个对话框提示输入用户名和密码。 (4)用户一旦输入了用户名和密码并单击【确定】按钮,浏览器再次发送请求并在名为Authorization的请求头中传递用户名和密码的值。 (5)当服务器接收到该请求,它将在访问控制列表中检验用户名和密码,如果是合法用户它将发送资源并在浏览器中显示出来,否则浏览器再一次显示对话框。,9.1.3 基本验证的过程,9.1.4 声明式安全与编程式安全,在Servlet规范中提到,实施Web应用程序的安全性可以有两种方法:声明式安全和编程式安全。 所谓声明式安全(declarative security)是一个应用程序的安全结构。包括角色、访问控制及验证需求都在应用程序外部表示。 编程式安全(programmatic security)主的有关方法实现。在9.4节将介绍编程式安全。,9.2 安全域模型,9.2.1 安全域概述 9.2.2 定义角色与用户,9.2.1 安全域概述,安全域是Web服务器保护Web资源的一种机制。所谓安全域(realm)是标识一个Web应用程序的合法的用户名和口令的“数据库”,其中包括与用户相关的角色。 角色的概念来自于现实世界,例如,一个公司可能只允许销售经理访问销售数据,而销售经理是谁没有关系。实际上,销售经理可能更换。任何时候,销售经理实际是一个充当销售经理角色的用户。,9.2.1 安全域概述,每个用户可以拥有一个或多个角色,每个角色限定了可访问的Web资源。在Web应用中,对资源的访问权限一般是分配给角色而不是实际的用户。把权限分配给角色而不是用户使对权限的改变更灵活。一个用户可以访问其拥有的所有角色对应的Web资源。,Tomcat的安全域类型,不管使用哪一种安全域模型,都要包含下列步骤。(1)定义角色、用户以及用户与角色的映射。(2)为Web资源设置安全约束。,9.2.1 安全域概述,9.2.2 定义角色与用户,使用的安全域模型不同,用户和角色的定义也不同。 内存域安全模型通过org.apache.catalina.realm.MemoryRealm类实现的。它将用户和角色信息存储在一个XML文件中,当应用程序启动时将其读入内存中。这默认情况下,该XML文件为 conftomcat-users.xml。程序9.1 tomcat-users.xml,9.2.2 定义角色与用户,这些用户与角色的映射关系如图9-2所示。,9.3 定义安全约束,为Web资源定义安全约束是通过web.xml文件实现的,这里主要配置哪些角色可以访问哪些资源。 安全约束的配置主要是通过三个元素实现:,9.3.1 安全约束定义,1. 元素 2. 元素 3. 元素,1. 元素,该元素用来定义受保护的Web资源集合、访问资源的角色以及用户数据的约束。该元素的DTD格式如下。,元素,该元素定义一个或多个Web资源集合,它的DTD定义: web-resource-name指定资源的名称。url-pattern指定受保护的资源。http-method元素指定该约束适用的HTTP方法。,元素,该元素指定可以访问受限资源的角色。它的DTD定义:role-name元素指定可以访问受限资源的角色。它可以是*(表示Web应用程序中定义的所有角色),或者是元素中定义的名称。,元素,该元素指定数据应该如何在客户与服务器之间传输,它的DTD定义:transport-guarantee元素指定数据传输的方式,它的取值为下面三者之一:NONE、INTEGRAL或CONFIDENTIAL。,2. 元素,元素定义使用的验证机制。验证机制不同,当Web客户访问受保护的Web资源时,系统弹出的对话框不同。该元素的DTD定义:,2. 元素,这里,元素指定使用的验证方法,其值可以为BASIC、DIGEST、FORM和CLIENT-CERT。 元素仅用在HTTP基本验证(BASIC)中,指定安全域(realm)名称。 元素仅用在基于表单的验证(FORM)中,指定登录页面的URL和错误页面的URL。,2. 元素,下面是web.xml的代码片段,它是BASIC验证机制的配置。BASIC Security Test ,3. 元素,该元素用来定义安全约束中引用的所有角色名,该元素的定义格式为:其中,元素定义角色名。,3. 元素,例如,假设在helloweb应用程序中要引用manager角色和member角色,则该元素可定义为:managermember,9.3.2 安全验证示例,下面通过一个实际的例子说明安全性的使用。首先建立一个名为AccountServlet的Servlet,然后分别采用基本验证和基于表单的方式测试安全性。 程序9.2 AccountServlet.java,1. 基本身份验证方法,Web应用程序的所有安全的需要都可以在DD中指定,如下面代码所示。Account Servlet/account.doGETmanagerNONE,BASICAccount Servletmanagermember,1. 基本身份验证方法,当在浏览器中使用http:/localhost:8080/helloweb/account.do访问AccountServlet时,这将向它发送一个GET请求。浏览器将弹出一个如图9.1所示的对话框,输入正确的用户名和密码,可以看到该Servlet发回的响应页面。,2. 基于表单的验证方法,基于表单的验证方法需要使用自定义的登录页面代替标准的登录对话框同时需要在web.xml的元素的子元素元素中指定登录页面和出错页面。 程序9.3 loginPage.jsp 程序9.4 errorPage.jsp 下面修改web.xml文件,需将元素的内容修改为:,FORM/loginPage.jsp/errorPage.jsp,2. 基于表单的验证方法,重启服务器,使用http:/localhost:8080/helloweb/account.do访问AccountServlet时,这将发送一个GET请求。浏览器将显示loginPage.jsp页面的表单,如图9-3所示。输入正确用户名和口令即可访问AccountServlet。如果输入用户名和口令不正确,将显示如图9-4所示的错误页面(errorPage.jsp)。,2. 基于表单的验证方法,9.4 编程式的安全,Web应用程序的安全属于声明式的安全。这种安全机制是部署者在部署Web应用时通过web.xml配置的,而在资源或Servlet中并不涉及安全信息。 然而在某些情况下,声明式安全对应用程序来说还不够精细。 例如,假设希望一个Servlet能够被所有职员访问。但我们希望服务器为主管(director)产生的输出与为其他职员(employee)产生的输出不同。,在HttpServletRequest接口中定义了如下三个用于识别用户和角色的方法: public String getRemoteUser():如果用户已被验证,该方法返回验证用户名。 public boolean isUserInRole (String rolename):返回一个布尔值,表示验证的用户是否属于指定的角色。 public Principal getUserPrincipal():返回java.security.Principal对象,它包含当前验证的用户名。 下面程序通过编程为主管和雇员产生不同的输出页面。 程序9.5 AuthorizationServlet.java 程序9.6 web.xml,9.5 小 结,随着企业在Internet上处理的业务越来越多,安全性问题也变的越来越重要。Servlet规范定义了4种验证用户的机制:BASIC、CLIENT-CERT、FORM和DIGEST。验证机制是在应用程序的部署描述文件(web.xml)中定义的。 本章讨论了如何建立安全的Web应用程序。重点讨论了如何在部署描述文件中配置安全性来实现声明式的安全。,

注意事项

本文(jsp程序设计入门 沈泽刚、秦玉平 主编的java web 第二版 第09章 Web安全性入门)为本站会员(101****457)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.