创建唯一的会话ID ServletRequestAttributes

时间:2019-05-22 09:29:26

标签: java

在同一时间来自同一台计算机的请求中创建唯一的会话ID的问题

我正在尝试创建一个唯一的会话ID,如下所示:

HttpSession session = servletRequest.getServletRequest().getSession();
sessionId = session.getId();
String ipAddr = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes())
          .getRequest()
          .getRemoteAddr();
sessionId = sessionId.concat("_" + ipAddr + "_" + System.nanoTime() + "");

但是在这里,如果用户尝试使用同一台计算机同时连接到多个会话,则会话ID不会保持唯一,有人可以告诉我如何处理IP和nanotime相同但我仍然可以处理的情况吗?需要一个唯一的会话ID。

0 个答案:

没有答案