我有一个域,并且我在客户机上使用AuthzGetInformationFromContext应用程序接口来检索用户所属组的sid。
它工作得很好。但是,如果我将用户添加到某个组中或从域控制器上某个组中删除该用户,此API仍将显示旧的组列表。在这种情况下,如果我等待10分钟或更长时间,它将显示更新的组列表。
我尝试在不同的计算机上执行此操作,发现应用程序将在不同的时间显示更新的组列表。因此,它不是域控制器缓存。
此外,我的应用程序会退出并重新启动。因此,它也不是应用程序级缓存。
因此,我相信有一些计算机级别的缓存用于组成员身份(通过此API检索)。
有谁知道如何以编程方式清除此缓存或更改某些设置以将这10分钟间隔缩短为更短的时间间隔。
发布于 2011-10-26 11:30:22
根据Kerberos post和Kerberos Authentication problems – Service Principal Name (SPN) issues - Part 1,你可以使用类似klist purge的工具清除this TGT (和你所有的服务票据)(该工具出现在Windows 7上)。您必须在用户登录的机器上本地运行该工具。
您可以在Windows Platform SDK中找到Klist.exe的源代码(我们这里的接口是LsaCallAuthenticationPackage)
C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\security\authorization\klisthttps://stackoverflow.com/questions/7896799
复制相似问题