激活REST时设置呼叫者主体

时间:2019-11-03 13:27:43

标签: java http websphere

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

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

但是,当我尝试通过HTTP协议从服务器内部(在上述请求中)向另一台服务器激活REST请求时,用户为空。 (当前,这是一台机器和一台服务器,但是稍后会更改)。

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

谢谢。

1 个答案:

答案 0 :(得分:0)

我们终于找到了答案。

我们正在使用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());