首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Spring的rest模板头中设置NTLM身份验证

如何在Spring的rest模板头中设置NTLM身份验证
EN

Stack Overflow用户
提问于 2017-08-22 15:18:24
回答 2查看 6.7K关注 0票数 7

我想用Rest模板认证NTLM,有没有人能建议一下?

EN

回答 2

Stack Overflow用户

发布于 2019-11-10 15:58:31

如果任何人再次偶然发现这个条目,这是内置的解决方案:

确保您的项目包含org.apache.httpcomponents.httpclient

然后,您可以使用以下代码片段构建RestTemplate:

代码语言:javascript
复制
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(AuthScope.ANY, new NTCredentials(user, password, "source-host-name", "domain-name"));
CloseableHttpClient httpClient = HttpClients.custom()
        .setDefaultCredentialsProvider(credsProvider)
        .build();
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
requestFactory.setHttpClient(httpClient);
RestTemplate restTemplate = new RestTemplate(requestFactory);
票数 7
EN

Stack Overflow用户

发布于 2018-02-09 03:08:06

这就是我从here那里得到的启示。字幕仅在此处列出。

  1. 设置rest模板以使用apache http client -> compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.5'
  2. 更新我的rest模板bean以使用httpclient -

RestTemplate restTemplate = new RestTemplate(); HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(); restTemplate.setRequestFactory(requestFactory);

  • Then只需按照链接here所说的做。在restTemplate调用之前添加NtlmAuthenticator class并执行此操作。

NtlmAuthenticator authenticator = new NtlmAuthenticator(userName, password); Authenticator.setDefault(authenticator);

就这样。你已经准备好了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45811242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档