active-directory - 无需用户密码即可生成 AD Kerberos 票证

标签 active-directory kerberos spnego

我正在开发一个 Java EE 服务器应用程序,需要代表用户生成 Kerberos 票证。

我正在开发的应用程序将使用备用凭据(非 Active Directory,例如生物识别)对用户进行身份验证,然后需要以某种方式生成 Kerberos 票证,显示用户已通过身份验证。然后,我将使用 Kerberos 票证生成 SPNEGO token ,并将该 token 插入到 HTTP header 中,这样用户就不必在来自浏览器的后续请求中重新进行身份验证。

是否可以在没有用户原始 AD 密码的情况下代表用户生成 Kerberos 票证? (假设我有权访问 AD 服务帐户登录名和密码)。如果可以的话,我会怎样去做呢?需要什么样的配置、权限?

最佳答案

是的,这是可能的。 Microsoft 为此扩展了 Kerberos。这称为用户服务 (S4U)。您的案例称为 S4U2Self (协议(protocol)转换)。这将在 Java 8 中提供。您可以查看 ticket并将该代码添加到您的 Java 认可的类路径中。您可以在 MIT Kerberos wiki 中阅读更多内容.

关于active-directory - 无需用户密码即可生成 AD Kerberos 票证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13806117/

相关文章:

c# - 在 .Net 3.5 中测试 "User Must Change Password"字段

c# - 事件目录属性 "badPwdCount"

hadoop - Windows 中的 Kerberos 客户端使用

linux - 使用 MIT Kerberos 作为 Windows AD 域的帐户域

c# - 在 C# 中根据 Active Directory 验证密码复杂性

active-directory - 使用 UPN 格式的 samAccountName 进行身份验证

Kerberos 5 应用服务器

authentication - CAS 中的 Kerberos 服务票证 (ST) 有何意义?

java - 通过 HttpClient 进行 SPNEGO 身份验证