使用Spring AOP来进行权限验证

使用Spring AOP前需要先引入相应的包

<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjrt</artifactId>
    <version>1.8.10</version>
</dependency>

<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.8.10</version>
</dependency>

然后创建切面类

 1 package com.homework.filter;
 2 
 3 import org.aspectj.lang.ProceedingJoinPoint;
 4 import org.aspectj.lang.annotation.Around;
 5 import org.aspectj.lang.annotation.Aspect;
 6 import org.aspectj.lang.annotation.Before;
 7 import org.springframework.stereotype.Component;
 8 
 9 /**
10  * Created by ytt on 2017/1/11.
11  */
12 
13 @Aspect
14 @Component
15 public class LoginCheckAspect {
16 
17     @Around(value = "@annotation(org.springframework.web.bind.annotation.RequestMapping)")
18     public Object checkUser(ProceedingJoinPoint pjp) throws Throwable {
19 
20         //获取参数
21         Object[] args = pjp.getArgs();
22         System.out.println("在进入方法之前");
23         //放行
24         Object proceed = pjp.proceed();
25         System.out.println("执行完方法之后");
26         return proceed;
27     }
28 
29     @Before("execution(* com.homework.controller..*.*(..))")
30     public void before(){
31         System.out.println("在方法执行之前执行");
32     }
33 }

这样就能完成拦截了

posted @ 2017-01-11 17:43  雨吃草  阅读(1805)  评论(0编辑  收藏  举报