javaweb应用中基于filter的访问权限控制实现

javaweb应用中基于filter的访问权限控制实现

ID:25109104

大小:75.12 KB

页数:5页

时间:2018-11-18

上传者:U-991
javaweb应用中基于filter的访问权限控制实现_第1页
javaweb应用中基于filter的访问权限控制实现_第2页
javaweb应用中基于filter的访问权限控制实现_第3页
javaweb应用中基于filter的访问权限控制实现_第4页
javaweb应用中基于filter的访问权限控制实现_第5页
资源描述:

《javaweb应用中基于filter的访问权限控制实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

JavaWeb应用中基于Filter的访问权限控制实现摘要摘要:简要描述了常规使用Java脚本实现的jsp页面访问权限控制,并详细阐述了Filter的基本原理和实现方式。在此基础上,运用Filter构建访问权限控制方案,并将其与Java脚本方案进行对比分析。结果表明,使用Filter对用户请求进行预处理,实现对jsp页面访问权限进行控制的方案,具备开发容易、效率高的优势。本文采集自网络,本站不保证该信息的准确性、真实性、完整性等,仅供学习和研究使用,文中立场与本网站无关,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除己转载的信息。关键词关键词:Java;服务请求;Web应用DOIDOI:10.11907/rjdk.161995中图分类号:TP312文献标识码:A文章编号文章编号:16727800(2017)0010041030引言实现对页面访问权限的控制是所有Web应用中一个无法回避的问题,对于JavaWeb应用而言,惯常的做法是使用Java脚本来实现,但这种实现方式比较繁琐,需要在每个要求控制的页面上都添加控制脚本。该方式还有一个更致命的问题:当控制代码发生改变时,修改 维护的工作量极大。Filter又称过滤器,是从Servlet2.3开始增加的功能,它可以改变用户Request请求和修改一个Response响应[13]。充分利用Filter过滤器的这一特性使得程序员可以在用广请求页面资源时,拦截request请求并进行权限验证,从而拒绝非法访问请求。本文将分别运用Java脚本和Filter过滤器来实现访问权限控制,并对两种方案的优劣进行对比分析。1基于Java脚本方案的访问权限控制实现在Filter出现之前,在JavaWeb应用中实现访问权限控制最常见的方案就是Servlet+Java脚本。其基本原理是Servlet控制器负责处理请求并进行用户合法性验证,Java脚本负责页面访问权限控制。当用户通过浏览器发出登录请求Request时,该请求会被交给负责控制登录请求的控制器Servlet,Servlet控制器则调用Service方法进行响应。该方法的原型如下:protectedvoidservice(IlttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException登录请求参数的传递有两种方式:一种是Get方式,另一种是Post方式。根据请求参数传递方式的不同,Service方法调用不同的处理请求方法:doGet和doPost。其中doGet方法用于处理Get方式的请求,doPost力*法用于处理Post方式的请求。通过表单Form登荣通常采用的是Post请求方式,因此需要在doPost方法中实现对用户合法性进行验证,如果验证通过则将验证通过标识或者用户名等标识符以keyvalue 键值对的形式保存在本次会话的HttpSession类型的实例化Session对象中。假设登录页面文件为login,jsp,登录成功的0标页面为xx.jsp,表申Form的登录请求参数被封装为一个对象loginUser,该对象具有获取用户名的方法getName(),判断用户合法性的方法原型为:当Web应用启动时会去装载Filter接U的实现类,Web容器首先实例化Filter实现类,并通过该实例对象调用其init()方法进行初始化。初始化完成的Filter对象被Web容器保存进应用级的集合容器中去等待用户访问资源。当用户访问的资源与web.xml配置文件中西己置的Filter的url-pattern相匹配时,该请求即被拦截,此时,容器会取出Filter实例对象调用其doFilter方法。??应用服务被停止或重新装载时,则会执行Filter实例化对象的destroy方法将该对象销毁。如前所述,编译完成后的Filter实现类字节码文件(.class文件)并不具备对各种请求进行拦截过滤处理的能力,开发人员还必须在Web应用中对Filter进行一系列的配置。配置Filter有两种方式:一种是在web.xml文件中进行配置,另外一种是在Filter实现类中使用Annotation注解@WebFiltcr方式进行配置。3基于Filter方案的访问权限控制实现使用Fi11er实现JavaWeb应用中的页面访问权限控制比较容易,与Java脚本方案相同的是在处理登录请求的Servlet中,将验证通过标识符或者用户名等标识符以keyvalue键值对的形式保存在HttpSession实例对象中。然后编写用于用户访问权限控制的过滤器 类,假定过滤器类名为CheckFilter,则该类的声明如下:publicclassChcckFiltcrimplementsFilter;在该过滤器类的doFilter方法里,尝试从HttpSession实例对象中获取保存登泶验证通过标识符的keyvalue键值对。如果该键值对存在,则说明该用户是通过登录验证的用户,放行请求,否则强制跳转至登录页面。假设Session中保存登录验证通过标识符的keyvalue键值对的key值为user,登录页面为login,jsp。则实现访问权限控制的核心代码如下:4结语在几乎所有的JavaWeb应用中都存在用户访问权限控制的需求,实验结果表明,采用Java脚本方案进行访问控制,即便是采用改进型的方案,需要在大量的jsp页面中编写访问控制代码,极其繁琐。而采用Filter过滤器实现用户访问控制,实现简便,配置完成后,即可对需要进行访问控制的页面进行自动过滤,无需修改任何jsp页面的代码,幵发效率高且维护方便。在Web应用规模和控制逻辑复杂程度增大的情况下,Filter方案相比传统的Java脚本方案极具优势。参考文献:[1]李刚.JSP/Servlet及相关技术详解[M].北京:电子工业出版社,2013.[2]王鑫印.基于Filter技术的Web个性化服务应用研究[J].微机发展,2003(12):9395. [1]AlurI〕.J2EE核心模式[M].北京:机械工业出版社,2002.[2]李建.JavaWeb开发中过滤器组件应用及实例解析[J].电脑开发与应用,2009(11):58.[3]张庆辉,李海涛.基于XML与FILTER的Web访问[JL电脑知识与技术,2009(36):1058710589.[4]李博文.浅谈运用JavaWeb解决用户登录的安全问题[J].信息科技,2011(1):195196.责任编辑(责任编辑:孙娟)第1期吴思颖,李亚楠,王年丰,等:基于双处理器的四旋翼飞行控制系统研究软件导刊2017年标题

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭