0

我正在尝试连接到使用 wsHttpBinding 和 Windows 身份验证的 Web 服务。如果我配置了用户名、密码和域,我可以使用 WCFStorm 进行连接。

我需要在 SOAP 信封上进行身份验证,因为我无法访问诸如 c# 之类的编程语言。

基本上,我能做的就是发出一个包含 SOAP 信封的 POST 请求。如何构造 SOAP 信封以便 Windows 身份验证起作用?

4

1 回答 1

0

如果您确实需要使用 SOAP POST 进行身份验证,则完全有可能。但是您需要在 WCF 中实现 ServiceAuthorizationManager 类并将其与用于承载端点的给定 ServiceHostFactory 相关联。

但是,我将假设 WCF 服务对您来说是一个黑盒子,因为您说您“无法访问诸如 c# [原文如此] 之类的编程语言”。我会假设 .net 框架方面是你无法控制的。

我将假设您可以完全访问客户端,但不能使用 .net 进行远程调用。

您要做的是将 Kerberos 或 NTLM 身份验证标头放入您的 HTTP 请求中。通常被称为 Windows 身份验证的东西实际上是这两种协议之一。现在 NTLM 在配置方面是一个更简单的协议,如果您的编程环境支持它,它将是我建议的协议。然而,Kerberos 得到了更广泛的支持。

至于如何在您正在使用的框架中使用带有 HTTP 的 NTLM/Kerberos。没有更多信息,我帮不了你。

您可能会发现以下有趣的内容:http: //docs.oracle.com/javase/6/docs/technotes/guides/net/http-auth.html

于 2013-02-01T16:15:34.177 回答