《Java Web应用开发项目教程_第七章》.pptVIP

《Java Web应用开发项目教程_第七章》.ppt

  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文档。上传文档
查看更多
《Java Web应用开发项目教程_第七章》.ppt

第7章 使用过滤器实现用户授权验证 ■本章要点: ★Servlet过滤器开发技术 ★用户授权验证功能模块设计与实现 ★ Servlet过滤器技术特性分析 ★ Servlet过滤器的典型应用 7.1 使用Servlet过滤器实现 用户授权验证功能 ■用户登录验证功能分析 我们知道,在进行用户的首次身份认证后都会在Session中留下相应的用户对象作为标识,在以后的操作中,只需要在进行身份验证的页面或Servlet中查看相应的Session即可。但是如果在每个页面或Servlet中都添加身份验证的代码显然会对编程造成很大的麻烦,也会增加多余的代码。而Servlet过滤器可以截取从客户端发送到服务器的请求,并作出处理答复。它的主要功能是验证客户是否来自可信的网络、对客户提交的数据进行重新编码、可以从系统里获取配置的信息、可以过滤掉客户的某些不应该出现的词汇、可以验证客户是否已经登录、可以验证客户端的浏览器是否支持当前的应用等。 7.1 使用Servlet过滤器实现 用户授权验证功能 ■建立一个过滤器由下列五个步骤完成 1)建立一个实现Filter接口的类。 2)在doFilter方法中放入过滤行为。 3)调用FilterChain对象的 doFilter方法。 4)对相应的servlet和JSP页面注册过滤器。 5)禁用激活器servlet,防止用户利用缺省servlet URL绕过过滤器设置。 7.1 使用Servlet过滤器实现 用户授权验证功能 ■过滤器应用控制流程如下图 7.1 使用Servlet过滤器实现 用户授权验证功能 ■Servlet过滤器实现一 创建过滤器SessionFilter,通过NEW命令创建一个Class文件,配置如下 7.1 使用Servlet过滤器实现 用户授权验证功能 ■Servlet过滤器实现二 在doFilter方法中放入过滤行为: //在doFilter方法中放入过滤行为 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httpreq = (HttpServletRequest) request; HttpServletResponse httpres = (HttpServletResponse) response; HttpServletResponseWrapper wrapper = new HttpServletResponseWrapper((HttpServletResponse) response); //通过配置参数对象config获取配置信息中的初始化参数“logonstrings”(不需要过滤的页面!) String logonStrings = config.getInitParameter(logonStrings); //获取配置信息中的初始化参数“includeStrings”(需要过滤的页面!) String includeStrings = config.getInitParameter(includeStrings); //没有登录的话需要重定向到的页面 String redirectPath = httpreq.getContextPath() + config.getInitParameter(redirectPath); //过滤器测试过滤行为初始值为“N”  String disabletestfilter = config.getInitParameter(disabletestfilter); if (disabletestfilter.toUpperCase().equals(Y)) { chain.doFilter(request, response); return; } String[] logonList = logonStrings.split(;); String[] includeList = includeStrings.split(;); Object user = httpreq.getSession().getAttribute(user);//获取Session中用户对象 Object manager=httpreq.getSession().getAttribute(mana

文档评论(0)

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

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

1亿VIP精品文档

相关文档