怎么在SpringBoot中使用Spring AOP实现接口鉴权(aop,spring,springboot,开发技术)

时间:2024-05-03 22:24:43 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    %E6%80%8E%E4%B9%88%E5%9C%A8SpringBoot%E4%B8%AD%E4%BD%BF%E7%94%A8Spring+AOP%E5%AE%9E%E7%8E%B0%E6%8E%A5%E5%8F%A3%E9%89%B4%E6%9D%83

面向切面编程,可以将与业务无关但是需要被各个业务模块共同调用的逻辑抽取出来,以切面的方式切入到代码中,从而降低系统中代码的耦合度,减少重复的代码。

Spring AOP是通过预编译方式和运行期间动态代理实现程序面向切面编程

AOP底层使用动态代理完成需求,为需要增加增强功能的类来生成代理类,有两种生成代理类的方式,对于被代理类(即需要增强的类),如果:

实现了接口,使用JDK动态代理,生成的代理类会使用其接口没有实现接口,

使用CGlib动态代理,生成的代理类会集成被代理类

连接点:被代理(被增强)的类中的方法

切入点:实际上需要被增强的方法

通知:要增强的逻辑代码

前置通知:在主体功能执行之前执行

后置通知:在主题功能执行之后执行

环绕通知:在主体功能执行前后执行

异常通知:在主题功能执行出现异常时执行

最终通知:主体功能无论执行是否成功都会执行

切面:切入点和切面的结合,即被增强的方法和增强的功能组成切面

注解:

@Aspect: 声明某个类是切面,编写通知、切入点

@Before: 对应前置通知

@AfterReturning: 对应后置通知

@Around: 对应环绕通知

@AfterThrowing: 对应异常通知

@After: 对应最终通知

@Pointcut: 声明切入点,标注在一个方法上可以让表达式更简洁

使用切入点表达式声明切入点

execution([权限修饰符][返回类型][类完全路径].[方法名称][参数列表类型])

execution(* com.xxx.ABC.add()),对ABC类的方法进行增强

配置接口鉴权账密

首先,编写一个注解来标识不需要鉴权

通过这个接口,我们可以在内存中生成一个token,同时也会返回给前端。之后我们在调其他接口时传入这个token进行鉴权即可。传入的位置是captcha字段

本文:怎么在SpringBoot中使用Spring AOP实现接口鉴权的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Reactive Programming的概念是什么下一篇:

8 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18