如何在 Delphi SOAP Web 服务客户端中使用 NTLM 身份验证?

Posted

技术标签:

【中文标题】如何在 Delphi SOAP Web 服务客户端中使用 NTLM 身份验证?【英文标题】:How can I use NTLM authentication in a Delphi SOAP Web Service client? 【发布时间】:2009-07-01 10:46:12 【问题描述】:

对于 Microsoft CRM 项目,我们需要 Delphi 2009 Web 服务客户端中的NTLM authentication。

看起来像Indy 10 Tiburon already has experimental NTLM support。

如何激活 THTTPRio 组件的 NTLM 身份验证并使用目标 Web 服务服务器的登录信息(用户名、密码、域)?

编辑:如果有一种方法可以使用“基本”以外的其他身份验证方法,例如HTTP Digest access authentication,这也会很有帮助。

【问题讨论】:

【参考方案1】:

在THTTPRio组件的WebNode子组件的用户名属性中,使用域名后跟反斜杠和用户名:

'域\用户名'

在设计时输入 WSDL URL 后,HTTPRIO 组件将列出可用的端口和服务。

【讨论】:

【参考方案2】:

我不确定我是否理解您的问题 - 激活 NTLM 身份验证?如果您正在寻找 Delphi 的 NTLM API 导入,您可以在 JEDI API home page 上的 JEDI Windows 安全库中找到它们。如果计划是看看如何使用它,我会说MSDN is your friend。

【讨论】:

感谢提示,我已经修改了文本:如何激活 THTTPRio 组件的 NTLM 身份验证。 NTLM API 导入在那里,还有一个 IdAuthenticateNTLM.pas。如果唯一的方法是修改 Delphi HTTPRio / HTTPSoap 类,以使用 NTLM API,CRM Web 服务的集成将更容易在 C#(甚至 Java)中完成,并带有额外的消息交换层。

以上是关于如何在 Delphi SOAP Web 服务客户端中使用 NTLM 身份验证?的主要内容,如果未能解决你的问题,请参考以下文章

Delphi XE 的 SOAP 服务器和客户端应用程序 VCL+indy 演示?

Delphi Web 和 Web 服务开发的当前选择是啥

如何用 Delphi Win32 编写 SOAP 1.2 客户端的最佳方式

如何创建 PHP SOAP 客户端以在 SSL 下调用 WCF Web 服务?

如何获取 WCF Web 服务请求的 XML SOAP 请求?

delphi to java,soap delphi,短信发送