gpt4 book ai didi

java - 将 UUID 和 User ID 设置到当前请求线程中

转载 作者:行者123 更新时间:2023-11-30 10:29:05 25 4
gpt4 key购买 nike

我想为我的其余应用程序增强我的生产日志记录。无论如何我可以访问当前请求线程来执行以下操作:

  • 为每个请求生成一个 UUID
  • 获取用户名
  • 将 UUID 和用户名都放入线程中

这允许我通过日志记录或 jstack 查看详细信息。

最佳答案

当您使用 Spring Security 时,您可以使用 Spring 中的 SecurityContextHolder

User user = (org.springframework.security.core.userdetails.User)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
String name = user.getUsername(); //get logged in username

然后使用JDK函数生成UUID

java.util.UUID.randomUUID()

已更新

我不建议使用本地线程来存储此信息,理想情况下,您可以将此信息存储在当前的 http session 中。如果您使用无状态 session ,则可以使用身份验证服务器提供的 session 并使用访问 token 来存储此信息。大多数身份验证服务都会大声在访问 token 中创建自定义字段。

关于java - 将 UUID 和 User ID 设置到当前请求线程中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44260054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com