我有一个用C编写的客户端,它使用libcurl将json发送到restful api服务(比如说服务器)。服务器是用java编写的,restful api是由jersey实现的,jersey是JAX-RS之一(非常简单,可以切换到另一个JAX-RS实现)。现在我想在C客户端访问java Restful api服务器之间做一些安全工作。我在互联网上搜索似乎我应该使用kerberos或spnego进行HTTP访问。我遇到了一些问题。
我想使用 kerberos/spnego 身份验证。但我查看了 jersey 文档( https://jersey.java.net/documentation/latest/security.html )的安全部分,但没有找到任何与 kerberos 相关的文档。你知道 Jersey 是否支持kerberos吗?
如果我切换到 Apache CXF,切换容易吗?我检查了有关 CXF kerberos 支持的文档。看起来太简单了,您有任何详细的文档或简单的示例来支持使用 Apache CXF 时的 kerberos 身份验证吗?
如有错误,请指正。谢谢。
最佳答案
这可以通过 Jersey 实现。 Jersey Client 在其实现中使用 ClosableHttpClient。
如果您想对 Kerberos 使用 SPNEGO 身份验证方案,您可能必须编写自定义 Connector 和 ConnectorProvider [我还没有找到使用 ApacheConnector 设置 AuthenticationScheme 的方法]。
如果它解决了您的用例,也请检查这篇文章以供引用 Can JCIFS be used with Jersey? :)
关于web-services - 如何在安静的服务中提供 kerberos/spnego 支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43583546/