【发布时间】:2021-03-08 11:03:33
【问题描述】:
我正在尝试使用一个通过 Kerberos 进行身份验证的 api。我已经参考了以下与 KerberosRestTemplate.reference link 相关的 spring 文档,我传递了正确的 keytab 文件和参考文档中提到的 userPrincipal 值。但我仍然从服务器收到 401。 但是当我在终端中执行 kinit 命令时,它会收到来自 KDC 的票证,然后我就可以执行 curl 命令并获得有效的响应。
KerberosRestTemplate kerberosRestTemplate = new KerberosRestTemplate("svc_dfsd.keytab", "svc_dfsd@sswe.AD");
String url="https://wexample.com:20550/aggr_subscriber_summary_hbase/03434809824";
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.TEXT_XML));
HttpEntity<String> entity = new HttpEntity<String>("parameters", headers);
ResponseEntity<String> response = kerberosRestTemplate.exchange(url, HttpMethod.GET, entity, String.class);
您能否建议任何其他更好的方法来执行此操作或解决此问题。非常感谢您的所有 cmets!!!
【问题讨论】:
标签: spring-boot spring-security kerberos resttemplate spring-security-kerberos