用户解锁后,Windows机器上的Kerberos缓存票证无法重新生成

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

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

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

它没有在我的办公室复制(客户端使用Windows 7,win server 2008上的活动目录服务器)。 锁定后,我总是在机器上有新的REGENERATED缓存tgt票证(在锁定之前不是从工作开始,但是在解锁后它们再次生成)。 没有为此行为设置特殊GPO(有关使用先前用户会话使用缓存票证的问题,使用Windows锁定屏幕后删除Kerboros缓存票证 )。

所以我不明白为什么系统在解锁后不重新生成缓存的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的连接不一样?

谢谢。

JGSS和SSPI不能很好地融合在一起。 您只能使用JGSS并通过JNA开始使用SSPI。