【发布时间】:2010-02-15 14:13:12
【问题描述】:
有谁知道如何清除本地计算机上的 Kerberos 票证缓存 - 使用托管 \unmanaegd 代码?
提前致谢!
【问题讨论】:
有谁知道如何清除本地计算机上的 Kerberos 票证缓存 - 使用托管 \unmanaegd 代码?
提前致谢!
【问题讨论】:
我相信您需要在使用LsaConnectUntrusted 或LsaRegisterLogonProcess 之后使用KERB_PURGE_TKT_CACHE_REQUEST 调用LsaCallAuthenticationPackage。抱歉没有具体细节,但我没有我的代码...
【讨论】:
最简单的方法就是拿微软的KList的源码(包含在平台SDK\Samples中),照着做……
【讨论】:
https://github.com/ErtiEelmaa/StackOverflow/blob/master/GroupPolicyUtilities.cs 有一个使用 pInvoke 清除 kerberos 票证的“托管 C#”示例
此处复制/粘贴的时间太长。由于 pInvoke 中的结构无效(例如,有人认为 C++ LONG 等于 C# LONG 和 yada-yada),所以花了一些时间,但是,我已经测试了这个,它对我有用。
另外,我注意到 Windows server 2003 klist.c 在 PurgeTicket 中几乎没有错误:
【讨论】:
【讨论】: