模拟其他用户登录或是在定时任务等无登录用户环境下填充默认用户,确保可正常获取用户信息。

pull/1125/head
ingrun 2025-12-20 12:19:54 +08:00
parent 7b75f9ac0b
commit 8506f4a55e
1 changed files with 16 additions and 0 deletions

View File

@ -3,7 +3,11 @@ package com.ruoyi.common.utils;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContext;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.util.PatternMatchUtils;
@ -175,4 +179,16 @@ public class SecurityUtils
.anyMatch(x -> Constants.SUPER_ADMIN.equals(x) || PatternMatchUtils.simpleMatch(x, role));
}
/**
*
*
*/
public static void delegatingUser(SysUser user) {
SecurityContext context = SecurityContextHolder.createEmptyContext();
LoginUser loginUser = new LoginUser();
loginUser.setUser(user);
context.setAuthentication(new UsernamePasswordAuthenticationToken(loginUser, null));
SecurityContextHolder.setContext(context);
}
}