`
黑暗天使
  • 浏览: 94929 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

一个登陆验证的过滤器

    博客分类:
  • java
 
阅读更多

 
  
 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.HttpServletResponse; 
 import javax.servlet.http.HttpSession; 
 import org.apache.log4j.Logger; 
  
 import com.gvninc.utils.StringUtils; 
  
 /** 
  * 登录验证过滤器 <br> 
  * Author:BluesLee <br> 
  * CreateDate:2008-6-21 <br> 
  * Modifier:BluesLee <br> 
  * ModifyDate:2008-6-21 <br> 
  * Version:1.0 <br> 
  * Copyright(c)2008 深蓝工作室 <br> 
  * All right reserved. <br> 
  * 
  */ 
 public class LoginRightFilter implements Filter { 
 	private Logger logger = Logger.getLogger(this.getClass()); 
  
 	/** 
 	 * 未登陆时跳转目标页面 
 	 */ 
 	private static String FORWARD = "/login.jsp"; 
 	/** 
 	 * 登录验证过滤器初始化  <br> 
 	 * Author:BluesLee <br> 
 	 * CreateDate:2008-6-21 <br> 
 	 * Modifier:BluesLee <br> 
 	 * ModifyDate:2008-6-21 <br> 
 	 * Version:1.0 <br> 
 	 * 
 	 * @param filterConfig 
 	 * @throws ServletException 
 	 */ 
 	public void init(FilterConfig filterConfig) throws ServletException { 
 		String forward = filterConfig.getInitParameter("forward"); 
 		StringUtils util=new StringUtils(); 
 		if (util.isNotNullStr(forward)) { 
 			LoginRightFilter.FORWARD = forward; 
 		} 
 	} 
  
 	/** 
 	 * 登录验证过滤  <br> 
 	 * Author:BluesLee <br> 
 	 * CreateDate:2008-6-21 <br> 
 	 * Modifier:BluesLee <br> 
 	 * ModifyDate:2008-6-21 <br> 
 	 * Version:1.0 <br> 
 	 * 
 	 * @param servletRequest 
 	 * @param servletResponse 
 	 * @param filterChain 
 	 * @throws IOException 
 	 * @throws ServletException 
 	 */ 
 	public void doFilter(ServletRequest servletRequest, 
 			ServletResponse servletResponse, FilterChain filterChain) 
 			throws IOException, ServletException { 
 		HttpServletRequest request = (HttpServletRequest) servletRequest; 
 		HttpServletResponse response = (HttpServletResponse) servletResponse; 
 		HttpSession session = request.getSession(true); 
  
 		Object user = session.getAttribute("user"); 
  
 		if (user != null) { 
 			filterChain.doFilter(servletRequest, servletResponse); 
 		} else { 
 			logger.warn("用户未登陆,请先登陆!"); 
 			String url = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort() + request.getContextPath() + LoginRightFilter.FORWARD; 
 			StringBuffer scriptString=new StringBuffer(); 
 			scriptString.append(" <script>\n\r"); 
 			scriptString.append("self.top.location.href=\""+url+"\"\n\r"); 
 			scriptString.append(" </script>\n\r"); 
 			response.getOutputStream().print(scriptString.toString()); 
 		} 
 	} 
 	public void destroy() { 
 	} 
 } 
  
 
分享到:
评论

相关推荐

    jsp+servlet登录验证过滤器

    在这个项目中,“jsp+servlet登录验证过滤器”涉及了用户登录验证的过程,以及使用过滤器(Filter)来实现这一功能。下面将详细介绍这个主题中的相关知识点。 1. **JSP**:JSP是一种服务器端的技术,允许开发者在...

    使用过滤器实现判断用户是否登录验证.

    在这个场景下,我们讨论的是如何使用过滤器来实现用户登录验证的功能。下面将详细解释这一过程。 首先,我们需要了解过滤器的基本概念。在Java Web应用中,过滤器是实现了javax.servlet.Filter接口的类。它们通过在...

    servlet 过滤器做的简单登陆demo

    在这个“servlet过滤器做的简单登陆demo”中,我们将探讨如何利用过滤器实现一个基础的登录验证系统。这个例子非常适合初学者理解和实践过滤器的用法。 1. **Servlet Filter原理**: Servlet过滤器遵循`Filter`...

    使用过滤器完成用户登录验证

    以下是一个简单的登录验证过滤器示例: ```java public class LoginFilter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws...

    SSM登陆验证之过滤器实现

    SSM(Spring、SpringMVC、MyBatis)框架是Java Web开发中常见的技术栈,其在处理用户请求时,通常会用到过滤器(Filter)进行预处理,以实现如登录验证等功能。本篇文章将深入讲解如何在SSM项目中通过过滤器实现登录...

    servlet+jsp实现过滤器 防止用户未登录访问

    在本例中,要实现一个简单的登录验证过滤器,可以阻止未登录用户访问除了登录页面以外的其他后台管理页面。通过实现javax.servlet.Filter接口,我们创建了一个LoginFilter类。这个过滤器会在每个请求到达目标页面...

    .NET MVC授权过滤器验证登录

    总的来说,.NET MVC的授权过滤器是实现用户登录验证的关键组件。通过自定义这个过滤器,我们可以灵活地控制应用程序的访问权限,保证系统的安全性。同时,结合不同的身份验证策略,可以满足各种应用场景的需求。

    过滤器验证用户是否已经登录

    过滤器验证用户是否已经登录 在基于 JSP 页面系统设计开发中,经常有一批页面需要对用户的身份进行验证,只有合法的用户才可以访问这些页面。为了解决 JSP 页面用户身份验证的问题,可以使用 Servlet 过滤器对 JSP ...

    servlet过滤器验证用户登录

    在给定的代码示例中,我们看到了一个名为`RightFilter`的过滤器实现,其主要逻辑如下: 1. **初始化**:`RightFilter`实现了`Filter`接口,因此必须实现`init()`方法,但在这个例子中,`init()`方法为空,表明没有...

    jsp实现登录验证的过滤器.docx

    本示例讲解了如何使用JSP和Servlet来实现一个登录验证过滤器,确保只有已登录用户才能访问特定的受保护资源。 1. **创建项目结构** 首先,我们需要创建一个Dynamic Web Project,这是Java Web应用的基础。在这个...

    过滤器验证用户登录.rar

    在实现用户登录验证过滤器时,通常会涉及以下几个关键点: - **存储用户状态**:登录成功后,将用户信息(如token)存储在session或cookie中。 - **过滤器逻辑**:在每个受保护的路由前,检查请求头或请求体中是否...

    jsp登录验证(含过滤器)

    总结,"jsp登录验证(含过滤器)"是一个常见但关键的Web应用安全实践。通过过滤器,我们可以确保只有经过验证的用户才能访问受保护的资源,同时利用会话管理来跟踪用户的登录状态。这不仅增强了安全性,也提供了更好...

    验证用户有没有登陆的过滤器

    首先,我们需要创建一个实现了`Filter`接口的类,并在`doFilter()`方法内实现用户登录验证的逻辑。 ```java public class LoginFilter implements Filter { @Override public void doFilter(ServletRequest ...

    过滤器的一个登录demo

    比如说:在一个学校的教育管理系统中,你想看到该学校的课程信息MyClassInfor.jsp,必须先登录验证通过才能访问站内的资源,如果你直接访问MyClassInfor.jsp这个页面,那么系统一般会跳转到登录页面让你去登录。...

    用过滤器验证

    Servlet 过滤器(Filter)是 Java Web 开发中的一个重要组成部分,主要用于实现预处理客户端请求或后处理响应对象的功能。过滤器可以拦截用户请求,并对请求进行预处理(如设置编码、登录验证等),也可以在服务器...

    jsp servlet过滤器,登陆验证 获取session

    而`过滤器(Filter)`是Servlet API的一部分,它提供了一种机制来拦截请求和响应,实现诸如登录验证、字符编码转换、性能监控等功能。在这个场景中,我们关注的是使用过滤器进行登录验证,以及如何利用`session`来...

    过滤器操作数据库验证合法用户

    4. **过滤器链的传递**:在完成验证后,根据验证结果决定是否继续调用过滤器链中的下一个过滤器。如果用户合法,调用`FilterChain.doFilter(request, response)`,将请求传递给下一个过滤器或目标Servlet处理;如果...

    包含过滤器的一个简单登陆实例

    本实例“包含过滤器的一个简单登录实例”将引导我们了解如何在实际项目中运用过滤器进行用户验证,确保只有合法用户才能访问受保护的资源。 过滤器在Java Web开发中被广泛应用,它们是Servlet规范的一部分,定义在`...

    Servlet过滤器的简单使用源码+文档

    描述中提到的"实现一个登陆界面",表明了过滤器可能被用作验证用户登录状态的工具。 Servlet过滤器是基于Java的Servlet API实现的,主要通过实现`javax.servlet.Filter`接口来创建。`Filter`接口定义了三个核心方法...

    Java SpringBoot实现的过滤器(和拦截器)控制登录页面跳转

    这个压缩包可能包含了一个示例项目,展示了如何在SpringBoot中配置和使用过滤器或拦截器进行登录验证。你可能需要解压并导入到IDE中,按照提供的说明运行和测试,以便更好地理解和学习这个功能。 通过深入理解这些...

Global site tag (gtag.js) - Google Analytics