【问题标题】:Spring MVC : retrieve Http Request headerSpring MVC:检索 Http 请求标头
【发布时间】:2020-12-07 16:12:43
【问题描述】:

我实现了一个微服务架构。在访问每个微服务之前,请求会通过一个网关来检查身份验证,并在此过程中添加一个包含用户 ID 的 X-User 标头。

在我的每个微服务中,我希望能够以一种优雅的方式检索这个用户 (X-User):无需将 HttpRequest/@RequestHeader 添加到我的所有控制器并将其传递给服务等

使用“SecurityContextHolder.getContext().getAuthentication().getUserId();”之类的东西会很完美,但由于我不在我的微服务中管理身份验证,所以这是不可能的。

【问题讨论】:

  • 你可以使用custom filter
  • 您的问题不清楚,您想在哪里检索该值以及您打算如何使用它(至少在哪里)?

标签: java spring spring-security oauth-2.0


【解决方案1】:

你应该能够:

  1. 实现一个Servlet Filter(详见this Baeldung article),从ServletRequest获取userId并将其存储在ThreadLocal中(详见this Baeldung article
  2. 从任何需要userId 的类中检索ThreadLocal

祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    • 2017-10-07
    • 2015-07-13
    • 1970-01-01
    • 2021-02-25
    • 2019-01-08
    相关资源
    最近更新 更多