我想用Rest模板认证NTLM,有没有人能建议一下?
发布于 2019-11-10 15:58:31
如果任何人再次偶然发现这个条目,这是内置的解决方案:
确保您的项目包含org.apache.httpcomponents.httpclient。
然后,您可以使用以下代码片段构建RestTemplate:
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);发布于 2018-02-09 03:08:06
这就是我从here那里得到的启示。字幕仅在此处列出。
apache http client -> compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.5' RestTemplate restTemplate = new RestTemplate(); HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(); restTemplate.setRequestFactory(requestFactory);
NtlmAuthenticator class并执行此操作。NtlmAuthenticator authenticator = new NtlmAuthenticator(userName, password); Authenticator.setDefault(authenticator);
就这样。你已经准备好了。
https://stackoverflow.com/questions/45811242
复制相似问题