package org.hlc.server.interceptor;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;
public class SecurityInterceptor implements Interceptor {
private static final long serialVersionUID = -5791221564564552124539L;
private static final Log log = LogFactory.getLog(SecurityInterceptor.class);
public void destroy() {
}
public void init() {
}
@SuppressWarnings("unchecked")
public String intercept(ActionInvocation invocation) throws Exception {
//Action上下文
ActionContext actionContext = invocation.getInvocationContext();
//action名称
String actionName = actionContext.getName();
//Seession Map
Map session = actionContext.getSession();
//做一些验证处理
//......
}
}
<package name="default" extends="json-default">
<interceptors>
<interceptor name="security" class="SecurityInterceptor"/>
<interceptor-stack name="defaultStackWithExceptionAndSecurity">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="security"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="defaultStackWithExceptionAndSecurity"/>
</package>
分享到:
相关推荐
在实际项目中,我们通常会结合Spring Security等安全框架,通过拦截器实现更复杂的权限控制。 总结,Struts2拦截器是其核心机制之一,它允许开发者以模块化的方式添加额外的功能,提高代码的可复用性和可维护性。...
每个拦截器都可以实现特定的功能,比如验证用户输入、记录日志或执行安全检查。 2. **拦截器栈**:在Struts2中,拦截器可以组成一个栈,按照栈的顺序执行。当请求到达Action时,会先执行栈中的所有拦截器,然后执行...
通过合理利用拦截器,可以实现如日志记录、性能监控、安全控制等复杂功能,极大地提高了代码的可维护性和复用性。在实际开发中,应该根据项目需求,灵活配置和编写拦截器,以实现最佳的业务流程控制。
这个demo对于初学者来说,是一个很好的起点,可以帮助他们理解如何在实际项目中结合Struts2的拦截器和权限控制来增强应用的安全性。在实际开发中,拦截器还可以用于日志记录、性能监控、事务管理等其他场景,极大地...
拦截器实例通常是线程安全的,因此对于多线程环境,Struts2会为每个请求创建新的ActionInvocation实例,但拦截器实例是共享的。 **6. 文件98struts201** 根据提供的文件名"98struts201",这可能是指一个包含Struts2...
Struts2是一个强大的MVC(模型...总结起来,通过使用Struts2拦截器,我们可以高效地实现对不文明字迹的拦截,提高应用的安全性和用户体验。同时,结合合理的配置和自定义验证,我们可以构建出健壮且灵活的Web应用程序。
3. 配置拦截器栈:Struts2使用拦截器栈的概念,即将多个拦截器组织成一个栈,按照栈的顺序依次执行。在`struts.xml`中,可以创建一个或多个拦截器栈,并将权限拦截器包含在内。 4. 应用拦截器:在Action配置中,...
Struts1 框架是Java Web开发中的一个经典MVC框架,它的核心组件之一就是拦截器(Interceptor)。拦截器在Struts1中扮演着重要角色,它允许开发者在动作执行前后插入自定义的逻辑,比如日志记录、权限验证、事务管理...
在本案例中,我们将深入探讨如何使用Struts2拦截器实现登录权限验证,同时结合Servlet Filter进一步加强安全性。 首先,让我们理解Struts2拦截器的工作原理。拦截器是基于AOP(面向切面编程)的概念设计的,它们...
总的来说,理解和掌握Struts2拦截器的执行顺序对于优化应用性能、实现业务逻辑和增强安全性具有重要意义。通过阅读博客和分析项目源代码,开发者可以更深入地了解Struts2框架,并利用拦截器实现更高效的Web应用程序...
Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展且易于管理的企业级应用程序。在Struts2中,拦截器扮演着至关重要的角色,它们是实现...通过理解并熟练运用拦截器,我们可以构建更健壮、更安全的Web应用。
Struts2是一个强大的Java EE应用程序框架,主要用于构建Web应用程序,特别是MVC(模型-视图-控制器)架构的...在实际开发中,还可以结合其他拦截器,如性能监控、日志记录、事务管理等,进一步增强应用的功能和安全性。
在Struts 2中,拦截器(Interceptors)是一个强大的特性,可以用于实现各种功能,如权限检查、日志记录、事务管理等。本文将详细介绍如何利用Struts拦截器和注解来实现日志审计功能。 首先,我们需要了解Struts拦截...
理解并掌握拦截器的使用能提高应用的安全性和效率。 9. **Struts2-6**:这个文件名可能指的是Struts2的第六个版本,不同版本可能存在功能差异或优化,学习时需要关注新特性以及与旧版本的兼容性问题。 通过深入...
登录验证是Web应用中常见的安全需求,Struts2通过拦截器可以实现对用户登录状态的有效控制。 在Struts2中,拦截器可以分为手动验证和自动验证两种方式。手动验证通常由开发者编写代码来检查用户是否已登录,如果未...
总的来说,通过 Struts2 的拦截器机制,我们可以实现高效且可复用的登录验证功能,有效地控制用户访问权限,提高系统的安全性。同时,通过合理的配置和页面设计,可以确保用户体验的流畅性。这种基于拦截器的登录...
Struts2是一个强大的Java web框架,它提供了许多...通过创建和配置拦截器,我们可以实现诸如权限验证、日志记录等功能,提升应用的安全性和可维护性。在实际项目中,灵活运用拦截器可以显著提高开发效率和代码质量。