【问题标题】:Kerberos cached ticket on windows machine not regenerated after user unlock用户解锁后未重新生成 Windows 机器上的 Kerberos 缓存票证
【发布时间】:2018-07-06 05:22:37
【问题描述】:

我有一个 java 服务器和客户端应用程序。这些应用程序在 Windows 机器上运行。客户端使用 kerberos 身份验证登录服务器。它是使用 jgssapi 实现的。

首先,客户端从系统中检索存储的缓存 tgt 票证以从 kdc 生成令牌。 问题是 - 在 Windows 中锁定用户会话(锁定屏幕或更改用户)后,系统中没有缓存的 tgt 票证(由 C:\Windows\System32\klist.exe 检查)。 据我了解,我可以通过在计算机上注销/登录用户来获取它们。

这个问题发生在我的客户机器上。锁定后有空的缓存票列表。

我的办公室没有复制它(Windows 7 的客户端,win server 2008 上的活动目录服务器)。锁定后,我总是在机器上有新的 REGENERATED 缓存 tgt 票(不是锁定前的工作,而是解锁后再次生成)。没有为此行为设置特殊的 GPO(关于使用来自先前用户会话 Kerboros cached ticket deleted after using Windows lock screen 的缓存票证的问题)。

所以我不明白为什么系统在解锁后不重新生成缓存的tgt?怎么办?

我在这里找到了类似的问题https://social.technet.microsoft.com/Forums/ie/en-US/be5ebc3b-d915-4acb-a9ae-67c61ee03b97/service-tickets-kerberos-purged-on-ctrlaltdel?forum=winserverDS&prof=required 答案之一是 “首先看看你用 klist 有什么,然后锁定和解锁你的屏幕。如果你有连接到 DC,你将获得本地主机和 KDC 和 TGT 的服务票,如果你没有连接你将一无所有。”

与 AD 的连接成功。我可以ping通。我可以使用 AD-explorer 获取信息连接。还是与DC的连接不一样?

谢谢。

【问题讨论】:

    标签: java windows active-directory kerberos jgss


    【解决方案1】:

    JGSS 和 SSPI 不能很好地配合使用。您要么只使用 JGSS,然后通过 JNA 开始使用 SSPI。

    【讨论】:

    • 感谢您的回答。使用 SSPI API,如果在屏幕锁定后丢失票证,则可以获得票证。它还可以解决在 Windows 中使用 Oracle JRE 的 GSS-API 实现的另一个限制,例如可以为本地管理员获取 tgt 票证。通过 JNA 调用 SSPI 函数的示例在 Waffle 源代码 github.com/Waffle/waffle/blob/master/Docs/faq/ClientSide.md 中。
    猜你喜欢
    • 1970-01-01
    • 2011-12-23
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    • 2016-07-17
    相关资源
    最近更新 更多