使用Filter技术防止用户非法访问页面

本文介绍了如何利用Filter技术在Servlet 2.3中实现用户非法访问页面的拦截。通过配置Filter,可以检查Session的有效性,并将未登录用户的请求重定向到登录页面,确保系统的安全性。
摘要由CSDN通过智能技术生成
主题:使用Filter技术防止用户非法访问页面
作者:蔡毅
时间:2005-6-3

一 Filter概述

Filter 技术是servlet 2.3 新增加的功能,它新增加的功能包括:
1. 应用程序生命周期事件控制
2. 新的国际化
3. 澄清了类的装载规则;
4. 新的错误及安全属性;
5. 不赞成使用HttpUtils 类
6. 各种有用的方法
7. 阐明并扩展了几个servlet DTD
8. filter功能

其中最重要的就是filter功能。它使用户可以改变一个request和修改一个response,
Filter 不是一个servlet,它不能产生一个response它能够在一个request到达servlet之前
预处理request,也可以在离开servlet时处理response。换种说法,filter其实是一个
“servlet chaining”(servlet 链)。

一个filter 包括:
1. 在servlet被调用之前截获
2. 在servlet被调用之前检查servlet request
3. 根据需要修改request头和request数据
4. 根据需要修改response头和response数据
5. 在servlet被调用之后截获


二 Filter在检修ABC系统中的应用

检修ABC系统在初期搭建框架的时候决定使用Filter来处理用户非法访问URL以及Session过期等问题。
我们首先定义了一些可以通过URL直接访问的页面,如登陆页面,重登陆页面等。当用户没有登陆而
尝试访问受保护的URL时,Filter将拦截该请求,并把访问的URL重定向到登陆页面。

在web.xml中的配置如下:
  <filter>
    <filter-name>filterservlet</filter-name>
    <filter-class>com.comtop.app.common.FilterServlet</filter-class>
    <init-param>
  <param-name>freePages</param-name>
  <param-value>        


/Login.jsp;/LoginAction.do;/index.jsp;/ReLogin.jsp;/SSOLoginAction.do;
     </param-value>
    </init-param>
    <init-param>
      <param-name>toPage</param-name>
      <param-value>/ReLogin.jsp</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>filterservlet</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值