Просмотр исходного кода

feat:【SYSTEM 系统管理】SecurityFrameworkUtils 的 setLoginUser 方法,移除对 request 强依赖,可用于 Job 记录操作日志;

YunaiV месяцев назад: 11
Родитель
Сommit
bda357508a

+ 4 - 2
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/util/SecurityFrameworkUtils.java

@@ -126,8 +126,10 @@ public class SecurityFrameworkUtils {
 
         // 额外设置到 request 中,用于 ApiAccessLogFilter 可以获取到用户编号;
         // 原因是,Spring Security 的 Filter 在 ApiAccessLogFilter 后面,在它记录访问日志时,线上上下文已经没有用户编号等信息
-        WebFrameworkUtils.setLoginUserId(request, loginUser.getId());
-        WebFrameworkUtils.setLoginUserType(request, loginUser.getUserType());
+        if (request != null) {
+            WebFrameworkUtils.setLoginUserId(request, loginUser.getId());
+            WebFrameworkUtils.setLoginUserType(request, loginUser.getUserType());
+        }
     }
 
     private static Authentication buildAuthentication(LoginUser loginUser, HttpServletRequest request) {