正确解决用户退出问题JSP和Struts.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
正确的解决用户退出问题―JSP和Struts 在一个有密码保护的Web应用当中,正确妥善的处理用户退出过程并不仅仅只需要调用HttpSession对象的invalidate()方法,因为现在大部分浏览器上都有后退(Back)和前进(Forward)按钮,允许用户后退或前进到一个页面。 在用户退出一个Web应用之后,如果按了后退按钮,浏览器把缓存中的页面呈现给用户,这会使用户产生疑惑,他们会开始担心他们的个人数据是否安全。 实际上,许多Web应用会弹出一个页面,警告用户退出时关闭整个浏览器,以此来阻止用户点击后退按钮。还有一些使用JavaScript,但在某些客户端浏览器中这却不一定起作用。这些解决方案大多数实现都很笨拙,且不能保证在任何情况下都100%有效,同时,它还要求用户有一定的操作经验。 这篇文章以简单的程序示例阐述了正确解决用户退出问题的方案。作者Kevin Le首先描述了一个理想的密码保护Web应用,然后以示例程序解释问题如何产生并讨论解决问题的方案。文章虽然是针对JSP进行讨论阐述,但作者所阐述的概念很容易理解而且能够为其他Web技术所采用。最后最后,作者Kevin Le用Jakarta Struts更为优雅地解决用户退出问题。文中包含JSP和Struts的示例程序 (3,700 words; September 27, 2004) 大部分Web应用不会包含像银行账户或信用卡资料那样机密的信息,但是一旦涉及到敏感数据,就需要我们提供某些密码保护机制。例如,在一个工厂当中,工人必须通过Web应用程序访问他们的时间安排、进入他们的培训课程以及查看他们的薪金等等。此时应用SSL(Secure Socket Layer)就有些大材小用了(SSL页面不会在缓存中保存,关于SSL的讨论已经超出本文的范围)。但是这些应用又确实需要某种密码保护措施,否则,工人(在这种情况下,也就是Web应用的使用者)就可以发现工厂中所有员工的私人机密信息。 类似上面的情况还包括位于公共图书馆、医院、网吧等公共场所的计算机。在这些地方,许多用户共同使用几台计算机,此时保护用户的个人数据就显得至关重要。 同时应用程序的良好设计与实现对用户专业知识以及相关培训要求少之又少。 让我们来看一下现实世界中一个完美的Web应用是怎样工作的: 1. 用户在浏览器中输入URL,访问一个页面。 2. Web应用显示一个登陆页面,要求用户输入有效的验证信息。 3. 用户输入用户名和密码。 4. 假设用户提供的验证信息是正确的,经过了验证过程,Web应用允许用户浏览他有权访问的区域。 5. 退出时,用户点击页面的退出按钮,Web应用显示确认页面,询问用户是否真的需要退出。一旦用户点击确定按钮,Session结束,Web应用重新定位到登陆页面。用户现在可以放心的离开而不用担心他的信息会被泄露。 6. 另一个用户坐到了同一台电脑前。他点击后退按钮,Web应用不应该显示上一个用户访问过的任何一个页面。 事实上,Web应用将一直停留在登陆页面上,除非第二个用户提供正确的验证信息,之后才可以访问他有权限的区域。 通过示例程序,文章向您阐述了如何在一个Web应用中实现上面的功能。 一. JSP samples 为了更为有效地向您说明这个解决方案,本文将从展示一个Web应用logoutSampleJSP1中碰到的问题开始。这个示例代表了许多没有正确解决退出过程的Web应用。logoutSampleJSP1包含一下JSP页面:login.jsp, home.jsp, secure1.jsp, secure2.jsp, logout.jsp, loginAction.jsp, 和 logoutAction.jsp。其中页面home.jsp, secure1.jsp, secure2.jsp, 和 logout.jsp是不允许未经认证的用户访问的,也就是说,这些页面包含了重要信息,在用户登陆之前或者退出之后都不应该显示在浏览器中。login.jsp页面包含了用于用户输入用户名和密码的form。logout.jsp页面包含了要求用户确认是否退出的form。loginAction.jsp和logoutAction.jsp作为控制器分别包含了登陆和退出动作的代码。 第二个Web示例应用logoutSampleJSP2展示了如何纠正示例logoutSampleJSP1中的问题。但是第二个示例logoutSampleJSP2自身也是有问题的。在特定情况下,退出问题依然存在。 第三个Web示例应用logoutSampleJSP3对logoutSampleJSP2进行了改进,比较妥善地解决了退出问题。 最后一个Web示例logoutSampleStruts展示了JakartaStruts如何优雅地解决退

文档评论(0)

xina171127 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档