`
eagle0824
  • 浏览: 230377 次
  • 性别: Icon_minigender_1
  • 来自: 镇江
社区版块
存档分类
最新评论

Filter 实现用户登录过滤

    博客分类:
  • JDBC
阅读更多
首先写一个权限过滤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")+"/login.jsp"); 
          } 
          else   { 
              //已经登陆,继续此次请求 
              chain.doFilter(request,response); 
          } 
      } 
  
      public   void   destroy()   { 
      } 
  } 


然后在web.xml里配置那些JSP文件需要登陆权限验证: 
  
  1.如果是某个具体的JSP文件(如a.jsp)需要登陆验证 
  <web-app> 
      ... 
      <filter> 
          <filter-name>right</filter-name> 
          <filter-class>com.taihuatalk.taihua.common.common.RightFilter</filter-class> 
      </filter> 
  
      <filter-mapping> 
          <filter-name>right</filter-name> 
          <url-pattern>/a.jsp</url-pattern> 
      </filter-mapping> 
      ... 
  </web-app> 
  
  2.如果是某一个目录(如a/目录)整个目录下的文件都需要登陆验证: 
  <web-app> 
      ... 
      <filter> 
          <filter-name>right</filter-name> 
          <filter-class>com.taihuatalk.taihua.common.common.RightFilter</filter-class> 
      </filter> 
  
      <filter-mapping> 
          <filter-name>right</filter-name> 
          <url-pattern>/a/*</url-pattern> 
      </filter-mapping> 
      ... 
  </web-app>
分享到:
评论

相关推荐

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

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

    myAutoLoginWeb.rar JavaWeb-过滤器Filter学习(三)实现用户的自动登录与IP黑名单过滤

    JavaWeb-过滤器Filter学习(三)实现用户的自动登录与IP黑名单过滤JavaWeb-过滤器Filter学习(三)实现用户的自动登录与IP黑名单过滤JavaWeb-过滤器Filter学习(三)实现用户的自动登录与IP黑名单过滤JavaWeb-过滤器Filter...

    ExtJS Filter 实现表格过滤

    ExtJS 是一个强大的JavaScript库,专门用于构建...以上就是关于ExtJS Grid Filter实现表格过滤的基本介绍和应用场景。在实际开发中,根据项目需求,灵活运用各种过滤策略,可以极大地提升数据管理的便捷性和用户体验。

    jsp filter 过滤器判断用户是否登录

    ### JSP Filter 过滤器判断用户是否登录 在Web应用开发中,权限验证是非常重要的一个环节。通过使用过滤器(Filter),可以在请求到达目标资源(如Servlet或JSP页面)之前进行处理,例如实现登录状态检查、权限验证...

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

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

    java用户登录验证码 filter过滤

    本文将深入探讨如何在用户登录界面实现基于Servlet的验证码功能,并结合Filter进行验证。 首先,验证码的生成通常涉及到以下几个步骤: 1. **生成随机字符串**:验证码一般由4-6个随机字母或数字组成,可以通过...

    用户登陆过滤器

    filter-name是filter的名称,而filter-class是filter的实现类。在这个例子中,filter-name是onlineFilter,而filter-class是filter.OnlineFilter。 在filter-mapping中,我们可以看到url-pattern的配置,这意味着这...

    利用Filter拦截用户登录

    本文将详细讲解如何利用Filter拦截用户登录,确保只有已登录的用户才能访问特定页面。 首先,我们需要了解`Filter`的基本概念。在Java Web中,Filter是Servlet API的一部分,它可以通过实现`javax.servlet.Filter`...

    filter过滤器实现权限访问控制以及同一账号只能登录一台设备

    2. **Filter实现**:创建一个自定义的`Filter`类,检查每个请求的`Session`中是否存在登录信息。如果不存在或者登录信息过期,则重定向到登录页面。 3. **权限判断**:在`Filter`中,可以进一步检查请求的资源是否...

    jsp中Filter类实现过滤器功能

    ### JSP中Filter类实现过滤器功能 #### 概述 在Java Web开发中,`Filter`是一种常用的技术,它可以对请求和响应进行预处理或后处理,常用于执行一些通用的操作,例如权限验证、编码统一设置、敏感词过滤等。本文...

    使用Filter实现用户自动登录功能

    实现用户自动登录功能。 2、 实验环境 Eclipse 3、 实验内容 (1)编写User类,在项目中创建cn.itcast.chapter08.entity包,该类用于封装用户的信息。 (2)实现登录页面和首页 (3)编写idex.jsp页面,该页面...

    Filter(过滤器)简介和工作原理

    * 认证和授权:可以使用 Filter 来实现认证和授权功能,例如检查用户的登录状态和权限。 * 日志记录:可以使用 Filter 来记录客户端的请求和响应信息,以便进行日志记录和分析。 * 缓存处理:可以使用 Filter 来实现...

    filter 过滤用户权限

    以下是一个简单的Java Filter实现示例,用于检查请求中的session中是否存在登录用户的信息: ```java import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import java.io.IOException; ...

    用户登录过滤相关页面,过滤URL越权访问

    通过使用Java EE中的过滤器,我们可以有效地管理项目的字符编码,并且可以实现对未登录用户的访问权限控制。这两种方法不仅可以提高系统的安全性,还能提升用户体验。在实际项目开发过程中,开发者可以根据具体需求...

    用filter实现验证登录

    下面将详细解释`Filter`的工作原理以及如何运用它来实现登录验证。 ### Filter工作原理 `Filter`是Java Web应用程序中的一个接口,位于`javax.servlet`包下。它提供了一种机制,可以在HTTP请求被处理前和处理后...

    jsp-14-过滤器

    在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,而过滤器(Filter)是Servlet规范的一部分,允许我们在请求处理前后插入逻辑,以实现诸如数据验证、字符编码转换、日志记录等功能。...

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

    在SpringBoot中,我们可以自定义Filter实现预处理和后处理功能,例如检查用户是否已登录,未登录时重定向到登录页面。 4. **拦截器(Interceptor)**: Spring MVC提供了拦截器(Interceptor)机制,它同样可以...

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

    为了能够使用 Servlet 过滤器实现用户对 JSP 页面访问的合法性验证,需要根据用户登录号和密码等与数据库中的信息相比较,若能匹配成功,则是用户登录成功,就用 session 对象存储该用户的标识。 知识点4: Servlet ...

    servlet过滤器验证用户登录

    在IT领域,特别是Java Web开发中,Servlet过滤器(Filter)是实现用户权限管理、登录状态验证等关键功能的重要机制之一。本文将深入探讨如何利用Servlet过滤器来验证用户是否已登录,以及如何配置过滤器以针对特定的...

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

    在本主题中,我们将重点讨论如何使用过滤器来实现用户登录验证。这在保护网站资源、确保只有已登录的用户才能访问特定页面时尤其重要。 过滤器的工作原理是基于Servlet规范中的Filter接口。当一个HTTP请求到达...

Global site tag (gtag.js) - Google Analytics