`
edr_
  • 浏览: 169802 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

关于使用过滤器设置权限:

    博客分类:
  • J2EE
阅读更多
关于使用过滤器设置权限:
    过滤器,其实就是一个面向切面编程的很好例子,设置一个切点Pointcut,然后再前面后面加上需要的动作。像编码问题也可以使用到Filter作为统一的过滤。
接下来就简单写一个例子:
首先设置好页面:
index.jsp-->包含欢迎信息!,连接后台,注销等链接;
login.jsp-->
admin/ad_index.jsp
然后写好自定义的Filter类:LimitsFilter(权限设定)登录之后才能进入后台
public class LimitsFilter implements Filter{

	@Override
	public void doFilter(ServletRequest request, ServletResponse response,
		    FilterChain filterChain) throws IOException, ServletException {
		HttpServletRequest req = (HttpServletRequest) request;
	    HttpServletResponse res = (HttpServletResponse) response;
	    HttpSession session = req.getSession();
	    //从session中取出用户名
	    String username = (String) session.getAttribute("username");
	    //如果没有取到用户名,就跳转到登陆页面
	    if (username == null || "".equals(username)) {
	      //跳转到登陆页面
	      res.sendRedirect("../login.jsp");
	    }
	    else {
	      //已经登陆,继续此次请求
	    	filterChain.doFilter(request,response);
	    }
	}
	@Override
	public void init(FilterConfig arg0) throws ServletException {
	}
	@Override
	public void destroy() {
	}
}

然后设定xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<filter>
		<description>权限过滤器</description>
		<filter-name>Limitsfilter</filter-name>
		<filter-class>
			com.LimitsFilter
		</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>Limitsfilter</filter-name>
		<url-pattern>/admin/ad_index.jsp</url-pattern>
	</filter-mapping>
	<servlet>
	    <servlet-name>UserServlet</servlet-name>
	    <servlet-class>com.UserServlet</servlet-class>
  	</servlet>
  	<servlet-mapping>
    	<servlet-name>UserServlet</servlet-name>
    <url-pattern>/UserServlet</url-pattern>
  	</servlet-mapping>
  	<welcome-file-list>
    	<welcome-file>index.jsp</welcome-file>
  	</welcome-file-list>
</web-app>
分享到:
评论

相关推荐

    Jsp中使用过滤器实现用户权限限制功能

    为了实现用户权限的精细化管理,开发者常常会使用过滤器(Filter)来实现对用户访问资源的控制。本文将深入探讨如何在JSP中利用过滤器实现用户权限限制功能。 首先,我们需要了解过滤器的概念。在Servlet规范中,...

    使用过滤器的方法!教你如何使用过滤器

    本教程将详细介绍如何使用过滤器,并通过实例帮助你理解其工作原理。 首先,我们要了解过滤器的基本概念。在Java Web中,Filter是实现了javax.servlet.Filter接口的类。它可以在请求到达Servlet或JSP之前和之后进行...

    servlet过滤器技术实例,

    在实际项目中,我们经常结合Spring框架使用过滤器。例如,Spring Security就是通过过滤器实现的安全框架,它可以拦截请求,进行身份验证和授权。 总结,Servlet过滤器是Java Web开发中不可或缺的一部分,它为我们...

    servlet过滤器实例经典过滤器

    本教程将深入讲解如何配置和使用Servlet过滤器,以及介绍五个经典的过滤器实例。 首先,让我们理解Servlet过滤器的基本概念。根据Java Servlet规范,过滤器(Filter)是一个实现了javax.servlet.Filter接口的类,它...

    Struts权限过滤器

    在`web.xml`中,我们需要为Struts权限过滤器设置相应的配置,例如: ```xml &lt;filter-name&gt;strutsPrepareAndExecuteFilter &lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter....

    过滤器--控制不同权限用户访问不同文件夹代码.rar

    这个例子中,"testFilter"可能是包含过滤器实现的类文件,或者是演示如何配置和使用过滤器的示例代码。通常,一个权限控制过滤器会包含以下几个核心部分: 1. **身份验证**:首先,过滤器需要识别用户身份,这通常...

    通过过滤器判断用户权限

    通过过滤器判断用户权限是实现应用安全访问控制的一种常见手段,尤其在Web应用程序中非常普遍。下面我们将基于提供的文件信息,深入探讨如何通过过滤器来判断用户的权限。 ### 一、UserPermissionFilter类详解 ###...

    拦截器和过滤器的区别

    在现代软件开发过程中,特别是Web应用程序中,为了实现灵活高效的业务逻辑处理及控制流管理,常常会使用到两种设计模式:拦截器(Interceptor)与过滤器(Filter)。这两种技术虽然在功能上有一定的相似之处,但其...

    java web权限访问过滤器

    本教程将详细讲解如何使用Java Web中的过滤器(Filter)来实现这样的访问控制。过滤器是Servlet API的一部分,它允许我们在请求到达目标资源(如Servlet、JSP页面)之前或之后对请求和响应进行拦截处理。 首先,...

    权限管理(过滤器粗粒度无侵入拦截方式)

    本文将详细探讨一种常见的权限管理实现方式——使用过滤器(Filter)进行粗粒度无侵入拦截。 首先,我们需要理解什么是过滤器。在Java Web开发中,过滤器是Servlet规范的一部分,它允许开发者在请求到达目标资源...

    java过滤器的使用

    Java过滤器(Filter)是Java Web开发中的一个重要概念,它主要应用于Servlet容器中,如Tomcat、Jetty等。过滤器允许我们在请求被发送到目标...通过熟练掌握过滤器的使用,我们可以提高Java Web应用的健壮性和用户体验。

    通过过滤器管理用户权限(2)

    在本文中,我们将深入探讨如何使用过滤器来管理用户权限,这是Web应用程序中常见的安全实践。过滤器在Java Web开发中扮演着重要角色,尤其是在处理请求和响应时进行预处理和后处理。在这个主题中,我们将主要关注...

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

    在标题"Servlet过滤器的简单使用源码+文档"中,我们可以理解为这个压缩包包含了一个关于Servlet过滤器的基础应用示例,以及相关的源代码和文档资料。描述中提到的"实现一个登陆界面",表明了过滤器可能被用作验证...

    hibernate过滤器使用例子

    在实际应用中,为了提高用户体验和系统性能,通常会结合分页技术使用过滤器。分页可以通过设置查询的`setFirstResult`和`setMaxResults`方法来实现,示例如下: ```java if (page != null) { query.setFirstResult...

    MVC过滤器.zip

    本压缩包“MVC过滤器.zip”似乎包含了一些关于方法过滤器、权限过滤器和异常过滤器的示例或实现,这些是MVC过滤器的常见类型。 1. **方法过滤器**:方法过滤器主要在控制器的方法(Action)执行前后被调用,可以...

    用过滤器进行权限控制实例 附

    本篇将详细探讨如何使用过滤器进行权限控制,并结合提供的"用过滤器进行权限控制实例"来深入理解这一概念。 首先,我们需要了解Java Servlet规范中的过滤器(Filter)。根据Servlet 3.1规范,过滤器是一个实现了...

    企业信息管理系统(15)_设置过滤器

    在企业信息管理系统中,设置过滤器是一个至关重要的功能,它能帮助用户有效地管理和分析大量数据。过滤器允许用户根据特定的条件筛选出所需的信息,从而提高工作效率,避免在繁杂的数据海洋中迷失方向。以下是对这个...

    过滤器的使用.rar

    "过滤器的使用.rar"这个资源包提供了关于如何在实际项目中应用过滤器的实例,特别是针对JDBC三层架构的项目。在这个学生信息管理系统中,过滤器被用来实现各种功能,如数据校验、登录检查、字符编码转换等。下面将...

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

    在Web开发中,确保用户身份的安全性...总的来说,使用过滤器实现用户登录验证是一种常见的实践,它允许我们集中管理权限控制,提高代码的可维护性。同时,通过合理的配置和扩展,可以适应不同规模和需求的Web应用程序。

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

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

Global site tag (gtag.js) - Google Analytics