package cn.com.oneslife.interceptor;
import java.util.Map;
import org.apache.struts2.StrutsStatics;
import cn.com.oneslife.bean.Account;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class AuthInterceptor extends AbstractInterceptor{
private static final long serialVersionUID = 2305639447880823381L;
@SuppressWarnings("unchecked")
@Override
public String intercept(ActionInvocation invocation) throws Exception {
ActionContext context = invocation.getInvocationContext();
ActionSupport action = (ActionSupport)invocation.getAction();
Map<String,Object> session = context.getSession();
Account acc = (Account) session.get("ACC_INFO");
Map<String,Object> request = (Map<String, Object>) context.get(StrutsStatics.HTTP_REQUEST);
String proId = (String) request.get("PROID");
if(null == acc){
action.addActionError("Sorry,You not have login! please login!");
return ActionSupport.LOGIN;
}
if(null == proId || "".equals(proId)){
action.addActionError("Sorry,You should be appoint proId!");
return ActionSupport.INPUT;
}
if(hasAuth(acc.getId(),proId)){
return invocation.invoke();
}else{
action.addActionError("Sorry,You not have auth!");
return ActionSupport.INPUT;
}
}
private Boolean hasAuth(Integer accId,String proId){
return Boolean.TRUE;
}
}
分享到:
相关推荐
这篇博客文章“struts2拦截器实现权限控制”深入探讨了如何利用Struts2的拦截机制来执行用户访问权限的验证。 在Struts2中,拦截器是基于AOP(面向切面编程)的概念设计的,它们在Action调用前后执行,可以添加额外...
通过深入理解和实践这个"struts拦截器的例子",初学者可以更清晰地了解拦截器如何与Struts 2框架协同工作,以及如何利用它们来增强应用程序的功能和灵活性。记住,实践是掌握任何技术的关键,因此,动手尝试并调整这...
本文将详细介绍如何利用Struts拦截器和注解来实现日志审计功能。 首先,我们需要了解Struts拦截器的工作原理。拦截器是基于Java的动态代理模式实现的,它们在Action调用前后执行,形成一个拦截器链。每个拦截器都...
下面我们将详细介绍如何利用Struts2的拦截器来实现用户登录权限的验证。 #### 概念理解 - **拦截器(Interceptor)**:在Struts2框架中,拦截器是一种可以被用来执行预处理和后处理操作的对象。它们可以在Action执行...
总结来说,"struts拦截器jar包"是指专门为Struts 1.x框架提供拦截器功能的第三方库,`saif-0.1.jar`和`saif-spring.jar`可能是用于实现特定拦截逻辑或整合Spring框架的扩展库。了解并正确使用这些jar包能够有效地...
通过上述方式,我们可以利用Struts2的拦截器机制有效地实现页面访问控制和用户注册功能,同时保持代码的清晰和模块化。在实际开发中,还可以结合其他拦截器,如性能监控、日志记录、事务管理等,进一步增强应用的...
本文将深入探讨如何利用Struts2的拦截器实现简单的登录功能。拦截器是Struts2框架的核心组件之一,它允许我们在动作执行前后插入自定义逻辑,比如权限验证、日志记录等。 首先,我们来理解一下Struts2拦截器的工作...
这篇博客“struts2 拦截器实现登录控制”显然会探讨如何利用拦截器来实现用户登录验证,从而保护应用程序的受保护资源。 首先,我们了解下Struts2拦截器的工作原理。拦截器是基于AOP(面向切面编程)的概念,它位于...
本项目“Struts2_自定义拦截器_用户权限验证”将深入探讨如何在Eclipse开发环境中,利用Struts2框架自定义拦截器进行用户权限的验证,并处理各个Action之间的跳转。 首先,我们来看自定义拦截器的创建。在Struts2中...
其中,拦截器(Interceptor)是Struts2中的一个关键特性,用于扩展框架的功能,实现诸如事务管理、权限控制、输入验证等功能。 #### Struts2的处理流程 1. **客户端请求**: 当客户端发起HTTP请求时,请求首先到达...
综上所述,通过Struts2的拦截器,我们可以实现高效且可扩展的权限控制系统。在`Struts2_Authority`压缩包文件中,可能包含了实现上述功能的示例代码,包括自定义拦截器的实现、配置文件以及相关的Action和视图文件,...
我们可以通过自定义拦截器来实现特定的功能,比如权限验证、日志记录等。在Struts2的配置文件中,我们可以注册这个拦截器: ```xml ``` 然后在Action类上声明需要使用的拦截器: ```xml ...
3. **权限验证**:拦截器可以实现用户登录检查,防止未授权的访问。 4. **数据校验**:在Action执行前,拦截器可以对输入数据进行校验,确保数据的合法性。 5. **业务逻辑增强**:如事务管理,可以在拦截器中进行...
描述中提到的“基于struts2的拦截器测试,实现了页面的跳转,中间过程的拦截”,这表明我们可能在创建一个测试场景,来验证拦截器如何控制请求的流向以及如何在特定的业务逻辑点进行干预。页面跳转通常是拦截器完成...
在Struts1.2中,拦截器(Interceptor)是一个非常关键的组件,它实现了AOP(面向切面编程)的概念,使得开发者可以在不修改业务逻辑代码的情况下,对请求处理流程进行增强或拦截。本文将详细介绍Struts1.2中的拦截器...
通过在Action执行前后插入自定义代码,拦截器使得我们可以方便地进行如日志记录、权限验证等操作,而无需直接修改Action本身。理解这一机制对于优化和调试Struts2应用至关重要。同时,熟悉Java动态代理也能够帮助...
在Struts2框架中,拦截器扮演着至关重要的角色,它们是实现业务逻辑、验证、日志记录等功能的核心组件。下面将详细探讨Struts2拦截器的源码及其工作原理。 首先,理解拦截器的定义:拦截器是AOP(面向切面编程)的...
通过这种方式,我们可以在不修改Action代码的情况下,利用Struts2拦截器实现国际化策略的动态调整,从而提供更灵活的多语言支持。 总的来说,Struts2拦截器和国际化是两个关键特性,它们分别提供了控制流管理和多...
在这个“structs2拦截器实例2-权限验证拦截器”的主题中,我们将深入探讨如何使用Struts2拦截器进行权限验证。 首先,拦截器是基于AOP(面向切面编程)的概念实现的,它们可以插入到请求处理流程中,在Action执行前...
总的来说,`struts1拦截器实现所需saif.jar包`提供了Struts1与Spring框架整合的能力,特别是利用Spring的AOP特性来实现拦截器功能。这使得开发者能够在Struts1项目中享受到Spring带来的便利,同时通过拦截器优化和...