Windows Challenge/Response ( NTLM
) 是在包括运行 Windows 操作系统的系统和独立系统上的网络上使用的身份验证协议。我能够NTLM
使用org.apache.http.client.HttpClient
version处理身份验证4.4
。
这是我使用的 Maven 依赖项(方法和方法名称在其他版本中可能略有不同)。
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.4</version>
</dependency>
实施需要以下导入。这是非 SSL 连接的基本要求。
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.NTCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.HttpClientBuilder;
这是实现。需要用真实凭据替换Username
、Password
和。Domain
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
HttpClient httpClient = HttpClientBuilder.create()
.setDefaultCredentialsProvider(credentialsProvider)
.build();
credentialsProvider.setCredentials(AuthScope.ANY, new NTCredentials("Username", "Password", null, "Domain"));
现在,此 http 客户端可用于与 Dynamics NAV API 进行通信。
但是我在我所在的地区(亚洲)找不到 Microsoft Dynamics NAV 的免费测试环境。但很少有云服务提供商为其他地区提供免费测试试用。
作为 Linux 用户,我必须在虚拟环境中安装 Windows 并在其上安装 Dynamics NAV 以创建测试环境。如果您熟悉 Docker,则可以从此链接下载 Dynamics NAV Docker 映像。