在使用Windows集成身体认证的时候,Identity的实现为WindowsIdentity,而它的Name是从SID中解析出来的,为了提高性能,IIS所以服务器上会缓存这些SID,所以当在ActiveDirectory中修改了登陆名后,无法获取到最新的值,解决方法是在IIS所在的服务器上,按照如下:
在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa的节点下增加下边的键值
名称: LsaLookupCacheMaxSize
类型: REG_DWORD
数据: 0
LsaLookupCacheMaxSize默认为128