use*_*084 6 c# iis-7 asp.net-mvc-3
我有以下代码来检索我的MVC3 Web应用程序中给定用户名的AD组:
PrincipalContext userDomain = new PrincipalContext(ContextType.Domain, username.Split('\\')[0]);
UserPrincipal user = UserPrincipal.FindByIdentity(userDomain, username);
PrincipalSearchResult<Principal> memberOfGroups = user.GetGroups();
IEnumerator<Principal> memberOfGroupsEnumerator = memberOfGroups.GetEnumerator();
List<string> userADGroups = new List<string>();
try
{
    while (memberOfGroupsEnumerator.MoveNext())
    {
        userADGroups.Add(memberOfGroupsEnumerator.Current.ToString());
    }
}
catch
{
    // When trying to access AD groups of a different domain, issues can arise at the end of the enumerator. These may be ignored.
}
Run Code Online (Sandbox Code Playgroud)
这在本地工作正常,但当部署到网络上的另一台机器上时出错,出现以下错误:
发生了操作错误.
错误的堆栈跟踪:
System.DirectoryServices.DirectoryServicesCOMException(0x80072020):发生操作错误.
在System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
的System.DirectoryServices.DirectoryEntry.Bind()
处于System.DirectoryServices.DirectoryEntry.get_AdsObject()
处于System.DirectoryServices.PropertyValueCollection.PopulateList()
的System.DirectoryServices.PropertyValueCollection ..
System.DirectoryServices.AccountManagement
上System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit()
的System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInitNoContainer()
中的System.DirectoryServices.PropertyCollection.get_Item (String propertyName)上的ctor(DirectoryEntry条目,String propertyName).PrincipalContext.Initialize()
在System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx()
在System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithTypeHelper(PrincipalContext上下文中,类型principalType,Nullable`1 identityType,字符串identityValue,日期时间refDate)
在的System.DirectoryServices .AccountManagement.UserPri MvcSFIWebSite.Models.User..ctor(
String username)中的ncipal.FindByIdentity(PrincipalContext context,String identityValue )
错误消息是相当模糊的,我无法弄清楚发生了什么,因为它在本地工作正常.
用于部署的计算机上的IIS使用自定义帐户而不是AppPool标识.是否应授予此帐户访问AD组目录的任何权限?IIS中是否明确要求其他任何设置才能生效?
任何建议都会非常有帮助.提前致谢.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           26511 次  |  
        
|   最近记录:  |