我有一个 ASP.NET MVC 站点的自定义角色提供程序,它使用 PrincipalContext 检索用户的角色,如下所示。
这工作正常,除了在 Active Directory 中更改组和它出现在 PrincipalContext 之间存在很长的延迟。
管理员可以通过站点更新组,并希望立即可见。
我怎样才能避免这种延迟?某处有缓存吗?几个小时的谷歌搜索没有提出任何解决方案。
我确实认为这可能是环境问题,因为我的本地机器会立即执行此操作,但测试服务器不会。
context = new PrincipalContext(ContextType.Domain, name, container, userName, _password))
var p = UserPrincipal.FindByIdentity(context, IdentityType.UserPrincipalName, username);
var groups = p.GetAuthorizationGroups();