【发布时间】:2017-11-27 13:33:05
【问题描述】:
我有一个带有 Windows 身份验证的 Web 应用程序。当我调试线路时
var domainContext = new PrincipalContext(ContextType.Domain, "abc");
其中“abc”是域名。
我可以将连接的服务器视为域控制器名称。我想知道它从哪里获得 DC 名称。
实际上,问题是,即使特定 DC 被降级并添加了新 DC,我们的应用程序始终指向同一个降级 DC,并在我们尝试使用以下行获取用户组时抛出错误。
var user = UserPrincipal.FindByIdentity(domainContext, "username");
var groups = user.GetGroups();
[ActiveDirectoryServerDownException: 服务器无法运行。
名称:“DomainController.Domain.com”
]
System.DirectoryServices.ActiveDirectory.PropertyManager.GetPropertyValue(DirectoryContext context, DirectoryEntry directoryEntry, String propertyName) +510
System.DirectoryServices.ActiveDirectory.DirectoryEntryManager.ExpandWellKnownDN(WellKnownDN dn) +239
System.DirectoryServices.ActiveDirectory.DomainController.get_Domain() +71
System.DirectoryServices.AccountManagement.ADStoreCtx.GetGroupsMemberOf(Principal p) +839
System.DirectoryServices.AccountManagement.Principal.GetGroups() +32
我需要清除 IIS 缓存或其他缓存吗?我也重启了 IIS。
【问题讨论】:
标签: c# active-directory windows-authentication iis-8