自己建设网站要花多少钱国家卫健委每日疫情报告
接上篇授权与认证之jwt(五)创建ShiroConfig类后,现在我们要利用AOP,把更新的令牌返回给客户端我们在写OAuth2Filter的时候,把更新后的令牌写到ThreadLocalToken里面的ThreadLocal。那么本篇,我们要创建AOP切面类,拦截所有Web方法的返回值,在返回的R对象中添加更新后的令牌。话不多说 上代码
@Aspect
@Component
public class TokenAspect {@Autowiredprivate ThreadLocalToken threadLocalToken;@Pointcut("execution(public * com.example.emos.wx.controller.*.*(..)))")public void aspect(){}@Around("aspect()")public Object around(ProceedingJoinPoint joinPoint) throws Throwable {//方法执行结果R r= (R) joinPoint.proceed();String token = threadLocalToken.getToken();//如果ThreadLocal中存在token,说明是更新的Tokenif(token!=null){//往响应中放置tokenr.put("token",token);threadLocalToken.clear();}return r;}
}