【问题标题】:Passing cookies from jax-rx rest api end point to ejb将 cookie 从 jax-rs rest api 端点传递到 ejb
【发布时间】:2019-01-29 02:19:27
【问题描述】:

我正在寻找与将 cookie 值从 JAX-RX REST API 端点传递到 ejb 层相关的解决方案。

我尝试搜索解决方案,发现其中一些正在使用本地线程。但是本地线程应该不与执行程序服务一起使用。

是否有其他解决方案可用于稍后将 cookie 值从 web/rest 传递到 ejb 层。

注意:我不想将它作为方法参数从 rest 层传递到 ejb 层。我想直接在 ejb 层访问 cookie 值

谢谢

【问题讨论】:

  • 您需要展示您的一些代码,因为以上暗示您正试图在您的 EJB 中使用 EE 并发实用程序。您只关心来自 cookie 的安全身份吗?

标签: ejb thread-local


【解决方案1】:

假设您有一个类MyEJB,您可以向您注入HttpServletRequest 对象ejb,如下所示:

public class MyEJB{
    @Context
    private HttpServletRequest httpRequest;
}

现在您可以从此请求对象访问所需的 cookie。如下:

String rawCookie = request.getHeader("Cookie");
String[] rawCookieParams = rawCookie.split(";");
for(String rawCookieNameAndValue :rawCookieParams)
{
  String[] rawCookieNameAndValuePair = rawCookieNameAndValue.split("=");
}

【讨论】:

  • 我认为这应该行不通。当尝试从 EJB 访问时,httpservletrequest 上下文会提供 NPE。
猜你喜欢
  • 1970-01-01
  • 2014-06-30
  • 1970-01-01
  • 1970-01-01
  • 2016-12-18
  • 2015-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多