激活 REST 时设置调用方主体

Setting caller principal when activating REST

我们正在使用IBM的WAS服务器。

我正在激活对服务器的 http 请求(使用 websphere 控制器)- 浏览器用户存在于 WSSubject.getCallerPrincipal。

但是当我尝试使用 HTTP 协议从服务器内部(在上面的请求中)激活 REST 请求到不同的服务器时,用户是空的。 (目前是同机同服,以后会变)

如何设置用户,以便在收到第二个 http 调用(从服务器到服务器)时它将成为用户主体

谢谢。

我们终于找到了答案。

我们正在使用 wink 客户端进行 REST 调用。

添加:LtpaAuthSecurityHandler 处理程序解决问题。

查看 IBM 文章:

https://www.ibm.com/support/knowledgecenter/en/SS7K4U_8.5.5/com.ibm.websphere.zseries.doc/ae/twbs_jaxrs_impl_securejaxrs_downstreamresource.html

代码如下:

ClientConfig config = new ClientConfig();
LtpaAuthSecurityHandler secHandler = new LtpaAuthSecurityHandler(); 
config.handlers(secHandler);
RestClient client =new RestClient(config);
Resource resource = client.resource(uriBuilder.build());