filter过滤器实现权限认定.docVIP

  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文档。上传文档
查看更多
filter过滤器实现权限认定

使用filter过滤器实现登陆权限验证 用SERVLET过滤来实现权限控制 过滤是SERVLET2。3规范新有的功能,目前TOMCAT4,WEBLOGIC7都已支持。它能实现很多以前使用不便或很难实现的功能,在产品体系中,我们可以很好地使用SERVLET过滤,使得各个部件可以在保持系统统一权限控制的前提下,来实现各个独自的个性权限系统。 下面先看下SERVLET过滤是如何工作的,如下图 优点 和传统架构相比,SERVLET过滤的优点如下: 在传统架构中: 方法的作用域及并发关系(每个方法可能在不同的线程上被调用)不允许在处理相同的请求时简单、高效地共享不同挂钩式方法调用间的变量和信息。 在SERVLET过滤中: 局部变量在实际的过滤方法返回之前都作保留,并且可用(因为上游过滤器的调用总在堆栈上,等待后续调用的返回)。 过滤的实现 调用链 所有过滤器都服从调用的过滤器链,并通过定义明确的接口得到执行。一个执行过滤器的 Java 类必须执行这一 接口。这一接口含有三个过滤器必须执行的方法: init(FilterConfig):这是一个容器所调用的初始化方法。它保证了在第一次doFilter()调用前由容器调用。您能获取在 web.xml 文件中指定的初始化参数。 destroy():容器在破坏过滤器实例前,doFilter()中的所有活动都被该实例终止后,调用该方法。 嵌套调用在 方法执行中发生。除非您建立一个过滤器明确阻止所有后续处理(通过其它过滤器及资源处理器),否则过滤器一定会在 方法中作以下的调用: ? 安装过滤器:定义与映射 容器通过 Web 应用程序中 的配置描述符 web.xml 文件了解过滤器。有两个新的标记与过滤器相关: 和 。应该指定它们为 web.xml 文件内 标记的子标记。 过滤器定义的元素 标记是一个过滤器定义,它必定有一个 和 子元素。 子元素给出了一个与过滤器实例相关的、基于文本的名字。 指定了由容器载入的实际类。您能随意地包含一个 子元素为过滤器实例提供初始化参数。例如,下面的过滤器定义指定了一个叫做 的过滤器: 1.首先写一个权限过滤filter类,实现Filter接口 import?javax.servlet.Filter; import?javax.servlet.FilterConfig; import?javax.servlet.ServletException; import?javax.servlet.ServletRequest; import?javax.servlet.ServletResponse; import?javax.servlet.FilterChain; import?java.io.IOException; import?javax.servlet.http.HttpServletRequest; import?javax.servlet.http.HttpSession; import?javax.servlet.http.HttpServletResponse; public?class?RightFilter ????implements?Filter?{ ??public?void?init(FilterConfig?filterConfig)?throws?ServletException?{ ??} ??public?void?doFilter(ServletRequest?request,?ServletResponse?response, ???????????????????????FilterChain?chain)?throws?IOException,?ServletException?{ ????HttpServletRequest?req?=?(HttpServletRequest)?request; ????HttpServletResponse?res?=?(HttpServletResponse)?response; ???? ????HttpSession?session?=?req.getSession(true); ????//从session里取的用户名信息 ????String?username?=?(String)?session.getAttribute(username); ???? ????//判断如果没有取到用户信息,就跳转到登陆页面 ????if?(username?==?null?||?.equals(username))?{ ??????//跳转到登陆页面 ??????res.sendRedirect(http://+req.getHeader(Host)+/

文档评论(0)

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

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

1亿VIP精品文档

相关文档