优化
This commit is contained in:
@ -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);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user