【问题标题】:How to modify the response header based on the content of response body in IBM http server?如何根据 IBM http server 中响应体的内容修改响应头?
【发布时间】:2018-01-20 09:34:00
【问题描述】:

我有一个使用 IHS 服务器作为反向代理的场景。来自浏览器的任何请求都会到达网络服务器(即 IHS),并且 IHS 会将请求重定向到相应的 URL。同样,响应将返回到 IHS,然后返回到浏览器。现在我需要在响应标头中包含用户 ID。我需要包含在标头中的这个用户 ID 需要从响应的正文中获取。

如果可以,请提供帮助,因为我是 IHS 新手。

【问题讨论】:

  • 请发布您目前尝试过的代码。

标签: apache http-headers websphere ibmhttpserver


【解决方案1】:

您无法在基于 Apache 的代理服务器中执行此操作。标头在正文之前发送,并且正文不会缓冲和扫描任何标准 Apache 模块中的内容。

如果您需要为登录用户设置响应标头,请在您的应用程序中进行。

【讨论】:

  • 谢谢召集人。但该应用程序是 Angular 应用程序并被下载到浏览器。之所以在标头响应中设置用户 ID,是因为浏览器和 Web 服务器之间存在 ISAM。 ISAM 需要在响应到达浏览器之前读取包含用户 ID 的标头。这是出于安全目的。
  • 我不太明白这里的“但是”。你是说 IHS 后面没有服务器生成可以设置标头的响应?
  • 我们点击的 URL 是第三方认证 URL,他们没有在 header 中设置 USER ID,而是在 body 中设置。所以我需要在到达 ISAM 之前读取正文并将其设置在标题中。
  • 如果认证URL不同,生成页面的服务器如何知道用户名来合并它?如果他们这样做了,为什么你不能在那个上下文中添加标题?从响应中找出答案为时已晚。
  • 当用户登录到门户网站时,我会在restful API的正文中发送凭据详细信息。流程是从浏览器到 ISAM,从 ISAM 到 IHS,从 IHS 到第三方。第三方执行身份验证并将正文中的用户 ID 发送到 IHS。 IHS 必须在标头中设置 ID,因为下一个 ISAM 将在到达浏览器之前根据标头创建会话。谢谢召集人。如果不能这样做,那么我会考虑其他选择。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-01
  • 2010-12-03
  • 2017-06-13
  • 2013-07-23
  • 1970-01-01
相关资源
最近更新 更多