mirror of
https://github.com/continew-org/continew-admin.git
synced 2025-09-12 06:57:13 +08:00
refactor: 使用 Token 作为 WebSocket Session Key
This commit is contained in:
@@ -16,7 +16,6 @@
|
||||
|
||||
package top.continew.admin.common.config.websocket;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import org.springframework.http.server.ServletServerHttpRequest;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -40,7 +39,7 @@ public class CurrentUserProviderImpl implements CurrentUserProvider {
|
||||
String token = servletRequest.getParameter("token");
|
||||
LoginUser loginUser = LoginHelper.getLoginUser(token);
|
||||
CurrentUser currentUser = new CurrentUser();
|
||||
currentUser.setUserId(Convert.toStr(loginUser.getId()));
|
||||
currentUser.setUserId(loginUser.getToken());
|
||||
return currentUser;
|
||||
}
|
||||
}
|
||||
|
@@ -16,11 +16,15 @@
|
||||
|
||||
package top.continew.admin.auth.service.impl;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.lang.tree.Tree;
|
||||
import cn.hutool.core.lang.tree.TreeNodeConfig;
|
||||
import cn.hutool.core.util.*;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.ReUtil;
|
||||
import cn.hutool.extra.servlet.JakartaServletUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
@@ -255,6 +259,9 @@ public class LoginServiceImpl implements LoginService {
|
||||
req.setContent(socialRegister.getContent().formatted(user.getNickname()));
|
||||
req.setType(MessageTypeEnum.SECURITY);
|
||||
messageService.add(req, CollUtil.toList(user.getId()));
|
||||
WebSocketUtils.sendMessage(user.getId().toString(), "1");
|
||||
List<String> tokenList = StpUtil.getTokenValueListByLoginId(user.getId());
|
||||
for (String token : tokenList) {
|
||||
WebSocketUtils.sendMessage(token, "1");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user