【发布时间】:2017-10-05 11:28:32
【问题描述】:
我有一个 Java webapp,它包含一个远程 .NET SOAP web 服务的 HttpClient。到现在为止还挺好。 Java webapp 在 Windows Server 上的 Apache Tomcat 中运行,并使用服务帐户。
不幸的是,远程 .net Web 服务使用 NTLM。这个answer 让我对如何做到这一点有了一些了解。但似乎配置仍然需要用户名/密码,而不是利用运行 Tomcat 的服务帐户。另外,我不确定 Java 身份验证器应该是什么样子(如 here 所示)。
有人尝试过吗?
更新
一些有趣的链接:
- Apache HTTP 组件支持不同的authentication schemes
- NTLMv2 authentication 的示例 - 我尚未对其进行测试。
【问题讨论】:
-
您是否尝试在 java wep 应用程序中访问 tomcat 服务帐户(不认为这是可能的)?或者您是否想弄清楚如何将 NTLM 凭据发送到 .net Web 服务?
-
后者。我想在 Windows 服务器上的 tomcat 内的 Java Web 应用程序中调用 .net ws。 .net ws 需要 ntlm 身份验证,我想利用 tomcat 运行的服务帐户
-
看看华夫饼,如下所述:stackoverflow.com/questions/3580099/…
-
不要利用 tomcat 服务帐户。该帐户旨在运行 Tomcat 而不是 WS 调用。如果此帐户遭到入侵,这意味着您不仅可以访问 tomcat 服务器,还可以访问调用 Web 服务并可能窃取其他信息。简而言之,这会削弱您的安全模型。
-
还有什么替代方案?
标签: java web-services wcf tomcat ntlm