关于使用过滤器设置权限:
过滤器,其实就是一个面向切面编程的很好例子,设置一个切点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>
分享到:
相关推荐
为了实现用户权限的精细化管理,开发者常常会使用过滤器(Filter)来实现对用户访问资源的控制。本文将深入探讨如何在JSP中利用过滤器实现用户权限限制功能。 首先,我们需要了解过滤器的概念。在Servlet规范中,...
本教程将详细介绍如何使用过滤器,并通过实例帮助你理解其工作原理。 首先,我们要了解过滤器的基本概念。在Java Web中,Filter是实现了javax.servlet.Filter接口的类。它可以在请求到达Servlet或JSP之前和之后进行...
在实际项目中,我们经常结合Spring框架使用过滤器。例如,Spring Security就是通过过滤器实现的安全框架,它可以拦截请求,进行身份验证和授权。 总结,Servlet过滤器是Java Web开发中不可或缺的一部分,它为我们...
本教程将深入讲解如何配置和使用Servlet过滤器,以及介绍五个经典的过滤器实例。 首先,让我们理解Servlet过滤器的基本概念。根据Java Servlet规范,过滤器(Filter)是一个实现了javax.servlet.Filter接口的类,它...
在`web.xml`中,我们需要为Struts权限过滤器设置相应的配置,例如: ```xml <filter-name>strutsPrepareAndExecuteFilter <filter-class>org.apache.struts2.dispatcher.ng.filter....
这个例子中,"testFilter"可能是包含过滤器实现的类文件,或者是演示如何配置和使用过滤器的示例代码。通常,一个权限控制过滤器会包含以下几个核心部分: 1. **身份验证**:首先,过滤器需要识别用户身份,这通常...
通过过滤器判断用户权限是实现应用安全访问控制的一种常见手段,尤其在Web应用程序中非常普遍。下面我们将基于提供的文件信息,深入探讨如何通过过滤器来判断用户的权限。 ### 一、UserPermissionFilter类详解 ###...
在现代软件开发过程中,特别是Web应用程序中,为了实现灵活高效的业务逻辑处理及控制流管理,常常会使用到两种设计模式:拦截器(Interceptor)与过滤器(Filter)。这两种技术虽然在功能上有一定的相似之处,但其...
本教程将详细讲解如何使用Java Web中的过滤器(Filter)来实现这样的访问控制。过滤器是Servlet API的一部分,它允许我们在请求到达目标资源(如Servlet、JSP页面)之前或之后对请求和响应进行拦截处理。 首先,...
本文将详细探讨一种常见的权限管理实现方式——使用过滤器(Filter)进行粗粒度无侵入拦截。 首先,我们需要理解什么是过滤器。在Java Web开发中,过滤器是Servlet规范的一部分,它允许开发者在请求到达目标资源...
Java过滤器(Filter)是Java Web开发中的一个重要概念,它主要应用于Servlet容器中,如Tomcat、Jetty等。过滤器允许我们在请求被发送到目标...通过熟练掌握过滤器的使用,我们可以提高Java Web应用的健壮性和用户体验。
在本文中,我们将深入探讨如何使用过滤器来管理用户权限,这是Web应用程序中常见的安全实践。过滤器在Java Web开发中扮演着重要角色,尤其是在处理请求和响应时进行预处理和后处理。在这个主题中,我们将主要关注...
在标题"Servlet过滤器的简单使用源码+文档"中,我们可以理解为这个压缩包包含了一个关于Servlet过滤器的基础应用示例,以及相关的源代码和文档资料。描述中提到的"实现一个登陆界面",表明了过滤器可能被用作验证...
在实际应用中,为了提高用户体验和系统性能,通常会结合分页技术使用过滤器。分页可以通过设置查询的`setFirstResult`和`setMaxResults`方法来实现,示例如下: ```java if (page != null) { query.setFirstResult...
本压缩包“MVC过滤器.zip”似乎包含了一些关于方法过滤器、权限过滤器和异常过滤器的示例或实现,这些是MVC过滤器的常见类型。 1. **方法过滤器**:方法过滤器主要在控制器的方法(Action)执行前后被调用,可以...
本篇将详细探讨如何使用过滤器进行权限控制,并结合提供的"用过滤器进行权限控制实例"来深入理解这一概念。 首先,我们需要了解Java Servlet规范中的过滤器(Filter)。根据Servlet 3.1规范,过滤器是一个实现了...
在企业信息管理系统中,设置过滤器是一个至关重要的功能,它能帮助用户有效地管理和分析大量数据。过滤器允许用户根据特定的条件筛选出所需的信息,从而提高工作效率,避免在繁杂的数据海洋中迷失方向。以下是对这个...
"过滤器的使用.rar"这个资源包提供了关于如何在实际项目中应用过滤器的实例,特别是针对JDBC三层架构的项目。在这个学生信息管理系统中,过滤器被用来实现各种功能,如数据校验、登录检查、字符编码转换等。下面将...
在Web开发中,确保用户身份的安全性...总的来说,使用过滤器实现用户登录验证是一种常见的实践,它允许我们集中管理权限控制,提高代码的可维护性。同时,通过合理的配置和扩展,可以适应不同规模和需求的Web应用程序。
在本主题中,我们将重点讨论如何使用过滤器来实现用户登录验证。这在保护网站资源、确保只有已登录的用户才能访问特定页面时尤其重要。 过滤器的工作原理是基于Servlet规范中的Filter接口。当一个HTTP请求到达...