`
zhangfeilo
  • 浏览: 399113 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

SSH中在Action中用Spring的aop来验证用户是否已经登录的拦截器

阅读更多

1.Spring的aop来验证用户是否已登录的拦截器

 

package angus.interceptor;

import org.aopalliance.intercept.*;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import angus.vo.ClientVO;

public class ClientInterceptor implements MethodInterceptor
{
public Object invoke(MethodInvocation invocation)throws Throwable
{
   HttpServletRequest request = null;
   ActionMapping mapping = null;
   Object[] args = invocation.getArguments();
   for (int i = 0 ; i < args.length ; i++ )
   {
    if (args[i] instanceof HttpServletRequest)
    {
     request = (HttpServletRequest)args[i];
    }
    if (args[i] instanceof ActionMapping)
    {
     mapping = (ActionMapping)args[i];
    }
   }
   HttpSession session = request.getSession();
   ClientVO cvo = (ClientVO)session.getAttribute("clientInfo");
   if (cvo == null)
   {
    request.setAttribute("pleaseLogin", "请先登录");
    String url = request.getRequestURI() + "?" + request.getQueryString();
    session.setAttribute("clientUrl", url);
    request.setAttribute("nologin", "请先登录");
    ActionForward af = new ActionForward("/myalbum.do");
    return af;
   }
   else
   {
    return invocation.proceed();
   }
}
}

 2.相应的在Spring中的applicationContext.xml中的配置

<bean id="commentInter" class="angus.interceptor.CommentInterceptor"/>
    <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
     <property name="beanNames">
            <list>
                <value>/addComment</value>
            </list>
     </property>
        <property name="interceptorNames">
            <list>
                <value>commentInter</value>
            </list>
        </property>
    </bean>

2
2
分享到:
评论

相关推荐

    ssh+aop+log4j+日志拦截器+注解

    标题中的"ssh+aop+log4j+日志拦截器+注解"涉及到的是Java Web开发中的几个核心组件和技术,这些技术在构建大型、分布式的企业级应用时常常被使用。下面将详细介绍这些知识点: 1. SSH (Spring, Struts, Hibernate)...

    ssh2登陆+spring aop做拦截

    SSH2 登录与 Spring AOP 拦截是两种在 IT 领域中常见的技术,主要用于提升系统安全性和管理效率。SSH2(Secure Shell version 2)是一种网络协议,用于提供安全的远程登录和数据传输,而 Spring AOP(Aspect ...

    springboot spring aop 拦截器注解方式实现脱敏

    总结一下,通过上述步骤,我们已经在Spring Boot应用中利用Spring AOP和注解方式实现了数据脱敏。这个拦截器可以在不修改原有业务代码的情况下,确保敏感信息在响应给客户端之前得到处理,提高了应用的安全性。同时...

    死磕Spring之AOP篇 - Spring AOP两种代理对象的拦截处理(csdn)————程序.pdf

    在 Spring 中,AOP 的实现主要依赖于代理模式,有两种代理方式:JDK 动态代理和 CGLIB 动态代理。 JDK 动态代理是基于接口的,它要求被代理的目标对象必须实现至少一个接口。Spring 使用 `java.lang.reflect.Proxy`...

    springboot+aspect实现springaop拦截指定方法.zip

    综上所述,SpringBoot结合AspectJ实现SpringAOP拦截指定方法,主要涉及到Spring AOP的原理、切点和通知的定义、自定义注解的使用,以及如何在SpringBoot项目中整合AspectJ进行更复杂的切面编程。通过这些知识点,...

    Spring AOP四种创建通知(拦截器)类型

    Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架中的一个重要模块,它提供了在应用代码中添加横切关注点的能力,如日志记录、事务管理、权限验证等,而无需显式修改业务逻辑代码。本文将深入...

    在自定义spring aop中使用el获取拦截方法的变量值。

    标题中的“在自定义Spring AOP中使用EL获取拦截方法的变量值”指的是在Spring的面向切面编程(AOP)中,通过Expression Language(EL,表达式语言)来访问被拦截方法的局部变量值。这通常涉及到Spring的代理机制、...

    Java之Spring AOP 实现用户权限验证

    首先,权限验证是任何应用程序中不可或缺的一部分,尤其是涉及到用户登录和访问控制的场景。通过Spring AOP,我们可以将权限验证的逻辑与业务代码解耦,使得代码更易于维护和扩展。 1. **自定义枚举类AuthorityType...

    spring aop数据验证

    演示了使用spring aop拦截方法进行数据验证,并结合注解实现

    mybatis 拦截器 + spring aop切面 + spring事务+ 反射工具类

    在IT行业中,MyBatis、Spring AOP、Spring事务管理和反射工具类是常见的技术栈,它们在构建高效、灵活的企业级应用中起着至关重要的作用。以下是对这些知识点的详细阐述: 1. MyBatis拦截器(MyBatis Interceptor)...

    spring aop切面拦截指定类和方法实现流程日志跟踪

    本节将详细介绍如何使用Spring AOP实现流程日志跟踪,主要关注于如何通过AOP拦截特定的类和方法来进行日志记录。 ##### 3.1 配置Spring AOP 在Spring配置文件中定义切面和切入点表达式是非常关键的一步。一般来说...

    spring aop 拦截器简单实现

    在Spring AOP中,拦截器扮演着关键角色。它是一个实现了`org.springframework.aop.MethodBeforeAdvice`、`org.springframework.aop.AfterReturningAdvice`或`org.springframework.aop.ThrowsAdvice`等接口的对象,...

    Spring AOP 拦截器 Advisor

    Spring AOP 拦截器 Advisor 是 Spring 框架中的一个重要概念,它与切面编程密切相关,用于实现细粒度的控制和增强应用程序的行为。在 Spring AOP 中,Advisor 是一个组合了通知(Advice)和切入点(Pointcut)的对象...

    springaop拦截controller日志

    在Spring AOP(面向切面编程)中,我们经常利用它来实现横切关注点,如日志记录、事务管理等。"springaop拦截controller日志"这个主题旨在讲解如何使用Spring AOP来拦截Controller层的方法调用,并在方法执行前后...

    spring aop action中验证用户登录状态的实例代码

    spring aop action中验证用户登录状态的实例代码 本篇文章主要介绍了spring aop action中验证用户登录状态的实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。 在学习ssh框架时,通常在一些需要用户...

    详解Spring AOP 拦截器的基本实现

    通过在Spring MVC的配置文件中使用元素来声明拦截器。 在Spring中,拦截器一般通过实现HandlerInterceptor接口或者继承HandlerInterceptorAdapter类来实现。HandlerInterceptor接口包括三个方法:preHandle、...

    Spring使用AOP的三个jar包

    Spring的AOP框架就是基于这些接口构建的,这样开发者可以编写一次拦截器,就可以在多个AOP框架中复用。 这三个jar包在Spring AOP中的角色如下: 1. `aspectjrt.jar`:提供AspectJ的运行时支持,用于实现基于...

    struts2+spring4+mybatis3,登录jquery ajax,struts拦截器,springAOP的例子

    在这个项目中,可能有自定义的拦截器用于进行登录验证,确保只有已登录的用户才能访问特定的资源。 6. **Spring AOP**:Spring的AOP模块允许开发者定义“切面”,即关注点的模块化,如日志、事务管理、安全检查等。...

    spring aop 拦截实例

    在提供的压缩包中,可能包含了一个或多个测试类(Tests),这些测试类通常用来验证AOP拦截器的功能。它们可能包含模拟业务场景的方法,这些方法会被切面拦截并执行相应的通知。通过运行这些测试,我们可以确保AOP...

    ssh-aop笔记

    在Spring AOP中,可以通过自定义注解或者使用预定义的表达式来定义切点。 **3. 通知(Advice)** 通知是在切点匹配时执行的代码,它定义了在特定时间(如方法调用前、后或异常时)要执行的行为。Spring AOP支持五种...

Global site tag (gtag.js) - Google Analytics