我有一个Java服务器和客户端应用程序。这些应用程序在Windows计算机上运行。使用kerberos身份验证的服务器上的客户端登录。它是使用jgssapi实现的。
首先,客户端从系统中检索存储的缓存tgt票证,以从kdc生成令牌。问题是- 在Windows中锁定用户会话(锁定屏幕或更改用户)后,系统中没有缓存的tgt票证(由C:\ Windows \ System32 \ klist.exe检查)。据我了解,我可以通过注销/登录计算机上的用户来获取它们。
这个问题发生在我的客户机器上。锁定后,没有空的缓存票证列表。
在我的办公室(带有Windows 7的客户端,Win Server 2008上的活动目录服务器)上未进行复制。锁定后,我始终在计算机上有新的已再生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的connectino,您将获得本地主机和KDC的服务票证和TGT,如果您没有连接,您将一无所有。”
与AD的连接成功。我可以Ping它。我可以使用AD-explorer获得连接信息。还是与DC的连接不同?
谢谢。
JGSS和SSPI不能一起玩。您要么仅使用JGSS,要么通过JNA开始使用SSPI。