controller层可以拿到AuthUtil.getUser()的用户信息,service层获取不到

Blade 已结 3 1520
gtfhao
gtfhao 2022-03-14 16:29

一、该问题的重现步骤是什么?

1. 前端发送get请求

2. controller层可以拿到AuthUtil.getUser()的用户信息

3.从controller到service层后,再用AuthUtil.getUser()获取用户信息时,结果为空;debug时查看原因,到了service层时request丢失了。


二、你期待的结果是什么?实际看到的又是什么?

image.png

processService.historyFlowList方法

image.png

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

联合版2.9.0

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

已用下面方法解决:

// 将RequestAttributes对象设置为子线程共享
ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
RequestContextHolder.setRequestAttributes(sra, true);

3条回答
  •  bluerose
    bluerose (楼主)
    2022-03-14 20:10

    亲。异步没有在request里。所以无法获取到,请使用userId或者user对象作为参数传递就行了

提交回复