1、微信登录过程分析
2、身份认证实现方案:
网关过滤器:gateway网关GlobalFilter自定义过滤器,拦截经过网关的所有请求
SpringMVC拦截器:代码冗余
AOP实现:自定义注解,推荐
3、AOP回顾
3.1、AOP底层
AOP:Aspect Oriented Programming,面向切面编程。无织入方式对代码进行通用性增强,动态代理,有两种:
JDK代理:Spring默认基于,SpringBoot2.x之前。基于接口,InvocationHandler接口
CGLib代理:基于实现类实现的,MethodInterceptor接口
3.2、SpringAOP概念
连接点:可以被增强的方法
切点:实际被增强的方法
切面:封装公共业务逻辑的类,有多个通知方法
3.3、通知方法:五种
@Before:前置通知
@AfterReturning:返回通知
@AfterThrowing:异常通知
@After:最终通知,类似于finally
@Around:环绕通知,在方法调用前后执行
3.4、环绕通知有四个特征:
必须返回Object
必须有ProceedingJoinPoint参数
必须手动执行目标方法
必须抛出Throwable异常