(4条消息) 多种方式获取当前用户id_学习微站的博客-CSDN博客_获取当前用户id

79 阅读1分钟

管理后台

    saveOrUpdateReq.setUserId(SecurityUtils.getUser().getId().longValue());
    **SecurityUtils.getUser()**

app

    saveReq.setUserId(RequestHolder.getCurrentUser().getId());

saas

    MchUser user = getCurrentUser();



    **自定义**
    SessionUserUtils.getSessionUser()

@SuppressWarnings("PMD") //CHECKSTYLE:OFF public class SessionUserUtils { public static String SESSION_USER = "SESSION_USER";

public static Map<String, Set<String>> roleMenuAndOperationMaps = new ConcurrentHashMap<String, Set<String>>();

public static void setSessionUser(HttpServletRequest request, SessionUserInfo sessionUserInfo) {
	request.getSession().setAttribute(SESSION_USER, sessionUserInfo);
}

public static SessionUserInfo getSessionUser() {
	return (SessionUserInfo) SecurityUtils.getSubject().getPrincipal();
}

} //CHECKSTYLE:OFF

@Data
public class SessionUserInfo {

    @ApiModelProperty("登录用户")
    private MchUser user;
    @ApiModelProperty("菜单操作集合")
    private List<Long> mIds;
    @ApiModelProperty("登录角色")
    private SysRole loginRole;

    private String token;

    @ApiModelProperty("使用版本号")
    private String usedVersion;

}

```

> 本文使用 [文章同步助手](https://juejin.cn/post/6940875049587097631) 同步