worklight http 适配器和 NTLM 身份验证

Posted

技术标签:

【中文标题】worklight http 适配器和 NTLM 身份验证【英文标题】:worklight http adapter and NTLM authentication 【发布时间】:2013-04-02 13:08:56 【问题描述】:

我正在尝试在 Worklight HTTP 适配器中实现 NTLM 身份验证,以便连接到 M$ 后端服务器,例如 Sharepoint Web 服务。 我已经用 设置了我的 adapter.xml 文件。

adapter.xml 结构第一个版本是:

<authentication>
  <ntlm />
  <serverIdentity>
    <username>user</username>
    <password>password</password>
  </serverIdentity>
</authentication>

我的测试是在本地使用 Worklight Studio 完成的,我遇到了以下问题:

1) 调用 WL 过程时出错:

Procedure invocation failed:Could not resolve placeholder 'local.hostname'

我必须把这个“local.hostname”设置放在哪里?

2) 我尝试指定文档(IBM 信息中心)中给出的 ntlm 标记的主机名属性,WL Studio 说 xml 格式错误。

<authentication>
  <ntlm hostname="myComputer.intranet.com"/>
  <serverIdentity>
    <username>user</username>
    <password>password</password>
  </serverIdentity>
</authentication>

其中“myComputer.intranet.com”是我在公司网络中的计算机名称。

Attribute 'hostname' is not allowed to appear in element 'ntlm'

【问题讨论】:

【参考方案1】:

来自 IBM 服务请求的响应: 用于向启用 NTLM 的后端系统进行身份验证的用户名必须用 windows 域名填充,后跟一个 \ 和用户名。

<serverIdentity>
  <username>domain\user</username>
  <password>password</password>
</serverIdentity>

这适用于硬编码的 serverIdentity 功能。

由于我公司的安全治理,不能有“通用”服务器身份。所以我必须将最终用户的凭据转发到后端系统进行身份验证。

如何使用 Worklight 身份验证机制(例如基于适配器)执行此操作,我在哪里可以为我的用户名设置域? 我可以根据适配器混合几种安全领域吗?

【讨论】:

以上是关于worklight http 适配器和 NTLM 身份验证的主要内容,如果未能解决你的问题,请参考以下文章

Worklight HTTP 适配器与 Ajax 请求

无法通过 Android 设备中的 Worklight http 适配器连接到后端

在 IBM Worklight 中运行 HTTP 适配器时出错

调用 Worklight 适配器 http 错误

从非 Worklight 应用程序调用 Worklight 适配器

如何将域、端口号、用户名和密码从用户输入传递到 Worklight http 适配器