This commit is contained in:
zt
2025-03-21 15:55:17 +08:00
parent c8edffdfd0
commit fa37ceb800
9 changed files with 140 additions and 78 deletions

View File

@ -1,11 +1,13 @@
package com.ruoyi.common.utils;
import cn.hutool.http.HttpStatus;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.exception.CustomException;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.exception.CustomException;
/**
* 安全服务工具类
@ -102,4 +104,27 @@ public class SecurityUtils
{
return userId != null && 1L == userId;
}
/**
* 更新已登录用户的用户名
* @param newUsername 新的用户名
*/
public static void updateUsername(String newUsername) {
Authentication currentAuth = getAuthentication();
LoginUser loginUser = getLoginUser();
SysUser user = loginUser.getUser();
// 更新 LoginUser 中的用户名
user.setUserName(newUsername);
// 创建新的认证对象
UsernamePasswordAuthenticationToken newAuth = new UsernamePasswordAuthenticationToken(
loginUser,
currentAuth.getCredentials(),
currentAuth.getAuthorities()
);
// 更新安全上下文
SecurityContextHolder.getContext().setAuthentication(newAuth);
}
}