java - 如何在 Java 中实现 Kerberos 协议(protocol)转换? (S4U2 self )

标签 java windows impersonation kerberos

编辑

现在我知道我需要什么了。我需要在 Java 中实现 Kerberos 协议(protocol)转换 (S4U2Self)。 .Net 中有示例,但没有 Java 示例。

有这个第三方库Quest Single Sign on for Java声称这样做。我已经下载了 JAR,它看起来不错,但我宁愿使用自定义实现而不是别人的代码(必须付费)。

任何人都可以提前了解需要完成的工作吗?是否有任何现有的开放 Java API 来处理此问题?

谢谢

之前的问题

目前我的应用程序只知道用户 ID,我需要使用 Kerberos 对该用户进行身份验证,创建服务票据并使用它来访问第三方服务。

我的应用程序需要充当代理,需要代表提供的用户 ID 向第三方服务发送请求。这是因为对其他第三方应用有限制。

我无法以任何方式获取给定用户 ID 的密码,也无法从同一用户 ID 获取以前的服务票证(以转发它)。我知道,管理员用户的凭据。

有没有办法只使用用户 ID(主体名称)创建服务 token ?

也许是某种委托(delegate),其中受信任的委托(delegate)人已经通过身份验证并为其他委托(delegate)人请求服务票据?

谢谢

最佳答案

S4U2self/S4U2proxy 应该会出现在 JDK 8 中:

与此同时,我正在查看 https://github.com/cconlon/kerberos-java-gssapi

(他的 SWIG 输入文件不包含 gss_acquire_cred_impersonate_name 但这很容易更改。弄清楚如何使用它可能需要我更长的时间。)

关于java - 如何在 Java 中实现 Kerberos 协议(protocol)转换? (S4U2 self ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10099321/

相关文章:

javascript - 无法从 JS 获取数组到我的 Spring 引导 Controller ?

java permgen 对于 Linux 上的 swing 应用程序内存不足,但在 Windows 上则不然

java - 在 servlet 文件内调用时如何检查 getwriter 或 getoutputstream 是否已被使用

c++ - 编译SkyFireEMU报错,sizeof(void *) 都不是

c++ - 从不同线程调用的 XInputGetState 和 XInputSetState

asmx - 模拟和 CredentialCache.DefaultCredentials 给 HTTP 401 Unauthorized

java - 按值分组打印

python - 与内置指纹传感器 Python 接口(interface)

python - 使用 Python 以无密码的用户身份登录 Windows

c# - 如何模拟 WellKnownSidType?