`
knight_black_bob
  • 浏览: 845203 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2 interceptor 拦截器

阅读更多

 

package com.fusionability.web.interceptor;

import org.apache.struts2.ServletActionContext;

import com.fusionability.web.bean.User;
import com.fusionability.web.utils.Constants;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

/**
 * 认证拦截器(可以拦截URL的跳转) 
 */
public class AuthInterceptor extends AbstractInterceptor {
  
	@Override
	public String intercept(ActionInvocation invocation) throws Exception {
		if("/FusionAbility/user/register.action".equals(ServletActionContext.getRequest().getRequestURI())
		    ||"/FusionAbility/user/login.action".equals(ServletActionContext.getRequest().getRequestURI())
		    ||"/FusionAbility/user/doRegister.action".equals(ServletActionContext.getRequest().getRequestURI())
		    ||"/FusionAbility/user/doLogin.action".equals(ServletActionContext.getRequest().getRequestURI())
		    ||"/FusionAbility/user/isExistUser.action".equals(ServletActionContext.getRequest().getRequestURI())
		    ||"/FusionAbility/user/refreshPatchcaImage.action".equals(ServletActionContext.getRequest().getRequestURI())
		    ||"/FusionAbility/user/doMail.action".equals(ServletActionContext.getRequest().getRequestURI())
		    ||"/FusionAbility/user/isRightCode.action".equals(ServletActionContext.getRequest().getRequestURI()) 
			||"/FusionAbility/user/updateRetrievepassword.action".equals(ServletActionContext.getRequest().getRequestURI()) 
		    ||"/FusionAbility/user/goUpdateRetrievepassword.action".equals(ServletActionContext.getRequest().getRequestURI())){
			return invocation.invoke();
		}
		User user = (User)ServletActionContext.getRequest().getSession().getAttribute(Constants.SESSION_USER);
		if (user == null) {
			//重定向到登录页面
			return Action.LOGIN;
		}
		return invocation.invoke();
	}
}

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

    <package name="interceptorPackage" extends="struts-default">
        <interceptors>
        	<interceptor name="authInterceptor" class="com.fusionability.web.interceptor.AuthInterceptor"></interceptor>
            <interceptor-stack name="traceStack">
	            <interceptor-ref name="defaultStack"></interceptor-ref>
	            <interceptor-ref name="authInterceptor"></interceptor-ref>
            </interceptor-stack>
        </interceptors>
        <default-interceptor-ref name="traceStack"></default-interceptor-ref>
    </package>

</struts>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

分享到:
评论

相关推荐

    struts2 Interceptor拦截器

    ### Struts2 Interceptor 拦截器详解 #### 一、概述 在现代Web开发中,特别是基于Java的Web应用程序开发中,Struts2框架因其简洁性和强大的扩展能力而备受青睐。Struts2框架的核心设计理念之一是MVC(Model-View-...

    Struts2拦截器(Interceptor)

    Struts2拦截器(Interceptor) Struts2拦截器(Interceptor)

    STRUTS2:拦截器Interceptor

    STRUTS2:拦截器Interceptor

    Struts2 拦截器 Interceptor

    ### Struts2 拦截器 Interceptor #### 一、概述 在Struts2框架中,拦截器(Interceptor)是一种非常重要的机制,它能够帮助开发者实现诸如权限控制、事务管理、日志记录等跨切关注点的功能。通过定义不同的拦截器...

    struts2 Interceptor详解

    开发者可以通过实现`org.apache.struts2.interceptor.Interceptor`接口或继承`org.apache.struts2.interceptor.StrutsInterceptor`抽象类来自定义拦截器。在自定义拦截器时,需要重写`intercept()`方法,实现自己的...

    saif(struts1 interceptor)

    然而,在Struts1的原生设计中,并没有内置拦截器(Interceptor)这一概念,这与后来的Struts2框架有所不同。Struts2引入了拦截器,极大地增强了框架的灵活性和可扩展性。但是,由于Struts1的流行和项目需求,"saif...

    Struts2拦截器及其用法详细说明

    - XML配置:在`struts.xml`文件中,使用`&lt;interceptor&gt;`元素定义拦截器,`&lt;interceptor-stack&gt;`元素组合多个拦截器,`&lt;package&gt;`元素下的`interceptors`属性指定拦截器栈。 ```xml &lt;interceptor name=...

    struts2实现拦截器、

    在Struts2中,拦截器(Interceptor)是一个至关重要的概念,它允许开发者在动作执行前后插入自定义逻辑,比如权限检查、日志记录、性能监控等。本文将深入探讨如何使用Struts2实现拦截器,以及如何配置拦截器来实现...

    struts2 拦截器

    1. **编写拦截器类**:继承`org.apache.struts2.interceptor.StrutsPrepareAndExecuteInterceptor`或实现`com.opensymphony.xwork2.interceptor.Interceptor`接口,并重写`intercept()`方法。 2. **配置拦截器**:在...

    Struts2拦截器源码

    3. 依据配置的Interceptor Stack(拦截器栈),Struts2会按顺序调用每个拦截器的`intercept`方法。 4. 在`intercept`方法中,通常会先调用`ActionInvocation`的`invoke`方法,这将执行下一个拦截器或者直接执行...

    使用struts2拦截器对登陆权限验证

    在Struts2中,拦截器(Interceptor)扮演着至关重要的角色,它允许开发者在动作执行前后插入自定义逻辑,如日志记录、权限验证等。在本案例中,我们将深入探讨如何使用Struts2拦截器实现登录权限验证,同时结合...

    Struts2之拦截器原理分析及使用-上案例struts007

    Struts2作为一款流行的Java Web框架,其核心机制之一就是拦截器(Interceptor)。拦截器是AOP(面向切面编程)思想在Struts2中的具体实现,它允许开发者在动作执行前后插入自定义的处理逻辑,提升了代码的可复用性和...

    struts2 拦截器的使用(继承抽象拦截器)

    这篇博客文章“struts2 拦截器的使用(继承抽象拦截器)”探讨了如何通过继承Struts2的抽象拦截器来创建自定义拦截器。 首先,让我们理解拦截器的基本概念。在Struts2中,拦截器是基于Java的动态代理机制实现的,...

    struts2 拦截器实例

    在Struts2中,拦截器(Interceptor)扮演着核心角色,它们允许开发者在Action执行前后插入自定义的逻辑,如日志、权限检查、事务管理等。现在我们将深入探讨Struts2的拦截器机制及其实例应用。 ### 一、Struts2拦截...

    struts2拦截器应用小例子

    在Struts2中,拦截器(Interceptor)扮演着核心角色,它们允许开发者在动作执行前后插入自定义的逻辑,如日志、权限检查、数据验证等。本示例将探讨如何在Struts2中使用拦截器。 首先,我们需要理解Struts2拦截器的...

    难经3:Struts2,拦截器拦不住Result?

    ”揭示了这是一个关于Struts2框架中拦截器(Interceptor)与结果(Result)交互问题的讨论。在Struts2框架中,拦截器是实现业务逻辑和控制逻辑之间解耦的重要机制,而Result则负责处理动作(Action)执行后的返回...

    Struts2拦截器实现权限控制demo

    在这个“Struts2拦截器实现权限控制demo”中,我们将深入探讨如何利用拦截器来实现细粒度的用户权限管理。 首先,我们需要了解Struts2中的拦截器工作原理。拦截器是基于Java的动态代理模式实现的,它们按照配置的...

    struts2中拦截器的使用

    在压缩包文件`Struts2_Interceptor`中,可能包含了关于Struts2拦截器使用的示例代码、解释文档或者教程,你可以进一步研究这些资源,以便更深入地理解并掌握Struts2拦截器的用法。学习如何创建自定义拦截器,以及...

    Struts2学习案例(拦截器)

    在本学习案例中,重点在于Struts2的拦截器(Interceptor)功能,这是Struts2的核心特性之一,它允许开发者在Action执行前后进行自定义处理,实现了灵活的业务逻辑控制和增强的功能。 首先,我们来理解一下什么是...

Global site tag (gtag.js) - Google Analytics