<interceptors>
<!--定义一个名为authority的拦截器-->
<interceptor class="com.***.rights.RightInterceptor" name="rightInterceptor"/>
<!--定义一个包含权限检查的拦截器栈-->
<interceptor-stack name="mydefault">
<!--配置内建默认拦截器-->
<interceptor-ref name="defaultStack"/>
<!--配置自定义的拦截器-->
<interceptor-ref name="rightInterceptor"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="mydefault" />
<!--定义全局Result-->
<global-results>
<result name="login">Login.jsp</result>
<result name="error">/error.jsp </result>
</global-results>
import java.util.HashMap;
import java.util.Map;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import com.opensymphony.xwork2.ActionContext;
public class RightInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation invocation) throws Exception {
//System.out.println("拦截器开始验证");
try
{
ActionContext actionContext = ActionContext.getContext();
Map<String,Object> session = actionContext.getSession();
String user=session.get("usercode").toString();
//当前用户session无效且访问的action不是登录action时,执行拦截,跳转
if((user==null || user.equals("")) && !invocation.getAction().getClass().getName().equals("登录action"))
{
return Action.LOGIN;
}
}
catch(Exception e)
{
e.printStackTrace();
return Action.LOGIN;
}
//System.out.println("拦截器通过验证");
return invocation.invoke();//执行访问的action
}
}
分享到:
相关推荐
在本案例中,我们将深入探讨如何使用Struts2拦截器实现登录权限验证,同时结合Servlet Filter进一步加强安全性。 首先,让我们理解Struts2拦截器的工作原理。拦截器是基于AOP(面向切面编程)的概念设计的,它们...
登录验证是Web应用中常见的安全需求,Struts2通过拦截器可以实现对用户登录状态的有效控制。 在Struts2中,拦截器可以分为手动验证和自动验证两种方式。手动验证通常由开发者编写代码来检查用户是否已登录,如果未...
这篇博客“struts2 拦截器实现登录控制”显然会探讨如何利用拦截器来实现用户登录验证,从而保护应用程序的受保护资源。 首先,我们了解下Struts2拦截器的工作原理。拦截器是基于AOP(面向切面编程)的概念,它位于...
SSH2 框架中的 Struts2 拦截器功能允许开发者在特定操作执行前或执行后进行自定义处理,例如登录验证、权限检查等。在本文中,我们将探讨如何使用 Struts2 的拦截器来实现登录验证功能。 首先,我们需要了解 Struts...
在Struts2中,拦截器(Interceptor)扮演着核心角色,它们允许开发者在动作执行前后插入自定义的逻辑,如日志、权限检查、数据验证等。本示例将探讨如何在Struts2中使用拦截器。 首先,我们需要理解Struts2拦截器的...
在Struts2框架中,拦截器扮演着至关重要的角色,它们是实现业务逻辑、验证、日志记录等功能的核心组件。下面将详细探讨Struts2拦截器的源码及其工作原理。 首先,理解拦截器的定义:拦截器是AOP(面向切面编程)的...
此外,还可以利用Struts2提供的内置拦截器,例如`LoginCheckInterceptor`,它可以处理登录验证。不过,为了实现更复杂的权限控制,通常需要自定义拦截器来实现具体的业务逻辑,例如检查用户的角色、权限编码或者当前...
### Struts2拦截器实现用户登录权限的验证 在Web应用开发中,用户登录权限验证是确保系统安全的重要环节之一。Struts2框架提供了一种灵活的方式来实现这一功能:通过自定义拦截器来控制用户的访问权限。下面我们将...
例如,你可能会找到一个名为`VisitorCheckInterceptor.java`的类,里面包含判断用户登录状态的代码,以及`struts.xml`文件,其中配置了这个拦截器的使用。 通过这种方式,Struts2的拦截器机制使得我们可以高效地...
Struts2是一个强大的Java web应用程序框架,它提供了一种组织和控制MVC(Model-...通过这种方式,Struts2的拦截器为我们提供了灵活的权限控制机制,使得我们能够轻松地管理和维护用户的登录状态,保证了应用的安全性。
本文档将详细介绍如何在Struts2框架中创建一个登录验证拦截器,以确保除了登录请求外,所有其他请求都会被拦截,并检查用户的登录状态。 #### 登录校验拦截器的工作原理 登录校验拦截器的主要作用是检查用户是否...
在Struts2中,拦截器扮演着至关重要的角色,它们允许我们在动作执行前后插入自定义逻辑,提升代码的可复用性和模块化。本篇文章将深入探讨如何使用Struts2的拦截器技术来实现页面检测和用户注册功能。 首先,我们...
### Struts2 Interceptor 拦截器详解 #### 一、概述 在现代Web开发中,特别是基于Java的Web应用程序开发中,Struts2框架因其简洁性和强大的扩展能力而备受青睐。Struts2框架的核心设计理念之一是MVC(Model-View-...
在这个“struts2-demo”项目中,我们将探讨Struts2的核心概念以及如何利用拦截器实现登录验证。 首先,让我们深入理解Struts2框架的核心概念: 1. **Action类**:在Struts2中,Action类是业务逻辑的载体,处理用户...
在"struts2-interceptor"这个压缩包中,我们可以预期找到一个关于如何使用Struts2拦截器实现简单登录控制的示例。 拦截器在Struts2中扮演着类似过滤器的角色,但更加强大和灵活。它们通过定义一系列预定义的或...
在这个“Struts2拦截器的简单登录应用”中,我们将深入理解如何利用拦截器实现用户登录验证。 首先,Struts2的拦截器机制是基于责任链模式的,它可以看作是在Action调用前后执行的一系列预定义或自定义操作。这些...