`
minzhenhua
  • 浏览: 4917 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

strtus2过滤器实现用户登录验证

 
阅读更多

过滤器代码:userLoginFilter.java

package com.gifer.action;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.log4j.Logger;

public class userLoginFilter implements Filter {

	private static Logger log = Logger.getLogger(AuthenticationFilter.class);

	private static String LOGIN_PAGE = "/login.jsp";

	@Override
	public void init(FilterConfig arg0) throws ServletException {
		if (log.isDebugEnabled()) {
			log.info("权限过滤器初始化完成。");
		}
	}

	@Override
	public void destroy() {

	}

	@Override
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {

		HttpServletRequest req = (HttpServletRequest) request;

		HttpServletResponse res = (HttpServletResponse) response;

		// 当前访问路径
		String currentUrl = req.getRequestURI();

		// 获取session
		HttpSession session = req.getSession();

		// 如果不是登录页面,就要进行身份认证
		if (currentUrl.indexOf(LOGIN_PAGE) == -1) {
			if (log.isDebugEnabled()) {
				log.info("正在对请求进行权限认证," + "请求URL:" + currentUrl);
			}
			// 如果session为空,或者用户没有登录,则重定向输出登录页面
			if (session == null || session.getAttribute("user") == null) {
				res.sendRedirect(req.getContextPath() + LOGIN_PAGE);
				return;
			}
		}

		// 过滤完成,filter链继续向下执行
		chain.doFilter(request, response);
	}

}

 web.xml

    

<!-- 自定义权限过滤器 -->
	<filter>
		<filter-name>authFilter</filter-name>
		<filter-class>com.gifer.action.userLoginFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>authFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

 

分享到:
评论

相关推荐

    Java SSH 权限验证过滤器实现

    Java SSH 权限验证过滤器实现。。。内容简单 有部分struts.xml配置信息,自己测试过。仅供参考。。。

    struts2配置详解

    Struts2 使用了一个过滤器作为控制器 2、Struts1 中每个 HTML 表单都对应一个 ActionForm 实例. Struts2 中, HTML 表单将被直接映射到一个 POJO. 3、Struts1 的验证逻辑编写在 ActionForm 中; Struts2 中的验证逻辑...

    深入浅出Struts2(附源码)

    1.3 带过滤器调度程序的Model 2 9 1.4 小结 13 第2章初识Struts 14 2.1 Struts的优点 14 2.2 Struts的动作处理流程 15 2.3 拦截器 17 2.4 Struts配置文件 18 2.4.1 struts.xml文件 19 2.4.2 struts....

    struts2拦截器

    拦截器可以说相当于是个过滤器:就是把你不想要的或不想显示的内容给过滤掉。拦截器可以抽象出一部分代码可以用来完善原来的Action。同时可以减轻代码冗余,提高重用率。比如在登入一个页面时,如果要求用户密码、权限...

    基于Java(Struts2 框架)+Mysql实现(Web)学生成绩管理系统【100010053】

    数据验证:HTML5 的原生验证模式、Struts2 的 Validation 验证框架以及 Interceptor 拦截器、JavaEE 的 Filter 过滤器 学生端(修改个人信息、修改密码、查看成绩) 教师端(成绩查看与修改、录入成绩、所教科目管理...

    JAVAEE +struts2

    该资源在MYEclipse下运行,有登陆界面,拦截器过滤器,国际化,数据验证,框架验证,在tomcat6.0下运行,有资源配置文档.主要实现登录界面的拦截等。

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    1.3 带过滤器调度程序的Model 2 9 1.4 小结 13 第2章 初识Struts 14 2.1 Struts的优点 14 2.2 Struts的动作处理流程 15 2.3 拦截器 17 2.4 Struts配置文件 18 2.4.1 struts.xml文件 19 2.4.2 struts.properties文件...

    名为责任链或者拦截器或者过滤器的简单模拟

    以上的这些功能,通过一种名为责任链或者拦截器或者过滤器(语义上的区别而技术上没有什么区别,知道做了什么就行了)的设计模式可以实现,那么就来看看什么是责任链的设计模式。 以下内容参考北京尚学堂的马士兵...

    Ajax验证用户的唯一性

    针对初学者,学习Ajax验证用户的唯一性实战是为了巩固Ajax,Jquery,Json与Struts2基础知识,具体内容如下 浏览效果图: 那我们就开始了,操作步骤如下 1.首先我们先导入所需要的包及文件 Json 包: struts2 包:...

    (2.0版本)自己写的struts2+hibernate+spring实例

    其实就是把原web.xml中的最后的过滤器代码移到最顶端就可以了.具体查看代码) 更多内容可以关注我新建立的博客:http://blog.csdn.net/wuxinfengjing&lt;br&gt;我也是初学拉.就只是为了大家共同进步. &lt;br&gt; &lt;br&gt;原...

    学生信息管理系统 JSP课程设计(内含完整源码和设计说明手册)

    学生成绩管理系统JSP课程设计 可实现学生和老师两个端的登录;...等功能 运用技术: ...3、数据验证:HTML5的原生验证模式、Struts2的Validation验证框架以及Interceptor拦截器、JavaEE的Filter过滤器

    ssh(Struts2.0) 整合小项目,供想自己搭建框架的哥们借鉴

    使用struts2+spring+hiernate开发的小项目,供想自己搭建环境的兄弟们借鉴,使用了拦截器、过滤器做权限验证和字符集设置。以及spring配置hibernate数据源。数据库方面大家根据hibernate文件和数据源配置自己建立。

    CRM客户管理系统-------

    基于Struts Hibernate Spirng 框架的WEb项目 过滤器对用户经行验证

    ssh(Struts2.0) 整合小项目,供想自己ssh搭建框架的兄弟借鉴

    使用struts2+spring+hiernate开发的小项目,供想自己搭建环境的兄弟们借鉴,使用了拦截器、过滤器做权限验证和字符集设置。以及spring配置hibernate数据源。数据库方面大家根据hibernate文件和数据源配置自己建立。 ...

    struts+ajax

    这是博客文章http://blog.csdn.net/lenotang/archive/2008/10/01/3007894.aspx配套的源代码,里面主要涉及的知识点有Struts中I18N,数据验证,过滤器,以及ajax(利用prototype库)与Struts的集成。

    Java EE Web开发实例精解完整光盘

    例程2-6:利用过滤器限制客房端访问 例程2-7:多组件协作实现用户用户登录验证 本章小结 第3章 管理和维护应用程序状态 例程3-1:购物车 例程3-2:聊天室 例程3-3:网站计数器 本章小结 第4章 访问企业信息资源 ...

    struts添删改查源代码

    在myeclipse中测试过的,里面有filter中文过滤器.validator验证方法的使用.绝对值的珍藏.

    最详细Shiro学习资料(源码)

    Web集成:Shiro可以无缝集成到Java Web应用程序中,提供了过滤器和标签库等工具,简化了权限控制和身份验证的实现。 容器友好:Shiro可以与常见的Java容器(如Spring、Guice)以及其他框架(如Apache Struts、...

Global site tag (gtag.js) - Google Analytics