用户解锁后未重新生成Windows计算机上的Kerberos缓存票证

时间:2018-07-06 05:22:38

标签: java windows active-directory kerberos jgss

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

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

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

在我的办公室(带有Windows 7的客户端,Win Server 2008上的活动目录服务器)上未进行复制。锁定后,我始终在计算机上有新的已再生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的connectino,您将获得本地主机以及KDC和TGT的服务票,如果您没有,连接将一无所有。”

与AD的连接成功。我可以Ping它。我可以使用AD-explorer获得连接信息。还是与DC的连接不同?

谢谢。

1 个答案:

答案 0 :(得分:1)

JGSS和SSPI不能一起玩。您要么只使用JGSS,然后通过JNA开始使用SSPI。