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