PrincipalContext从哪里获取连接的服务器名称?

时间:2017-11-27 13:33:05

标签: c# active-directory windows-authentication iis-8

我有一个带有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(主   p)+839

     

System.DirectoryServices.AccountManagement.Principal.GetGroups()+ 32

我是否需要清除IIS缓存或其他缓存?我也重新启动了IIS。

0 个答案:

没有答案