UserPrincipal.FindByIdentity - 在dev上抛出错误

时间:2015-12-07 15:17:25

标签: asp.net vb.net principalcontext

我正在使用ASP.Net(使用VB.Net)应用程序。在本地测试和工作这个代码块执行得非常好。

foreach ( $_POST as $key => $val )
{
  // You could also check your $key if you don't want to sum all post variables. This solution is based on that your form elements that you want to calculate are named with the initial fl_
  if ( substr($key, 0, 3) == 'fl_' )
    $sum += $val;

}

然而,自从将其升级到我们的开发Web服务器进行初始测试之后,我收到此错误消息,而不是从AD获取用户的电子邮件地址。

  System.DirectoryServices.DirectoryEntry.Bind()上的System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)

      在System.DirectoryServices.PropertoryValueCollection.PopulateList()的System.DirectoryServices.DirectoryEntry.get_AdsObject()中       在System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry条目,String propertyName)
      在System.DirectoryServices.PropertyCollection.get_Item(String propertyName)
      在System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInitNoContainer()
      在System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit()
      在System.DirectoryServices.AccountManagement.PrincipalContext.Initialize()
      在System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx()
      在System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithTypeHelper(PrincipalContext context,Type principalType,Nullable`1 identityType,String identityValue,DateTime refDate)
      在System.DirectoryServices.AccountManagement.Principal.FindBdentIdentityWithType(PrincipalContext context,Type principalType,IdentityType identityType,String identityValue),位于ChangeControl.HelpersSystem.GetEmail的System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity(PrincipalContext context,IdentityType identityType,String identityValue)字符串& uId)在C:\ Work \ Simon \ ChangeControl \ ChangeControl \ HelperClasses \ HelpersSystem.vb:第24行

我环顾四周,这是最接近我想要做的事情

Previous similar BUT NOT THE SAME issue. 这也是 Very similar, same solution as what I have but not working for me

我想要帮助的是我需要提供的其他变量,因为我也尝试过用户名和密码,但这也没有用,并给出了同样的错误信息。

我也尝试过没有Try Dim dc As PrincipalContext = New PrincipalContext(ContextType.Domain, "sanuk") Dim adUser As UserPrincipal = UserPrincipal.FindByIdentity(dc, IdentityType.Name, uId) Return adUser.EmailAddress Catch ex As Exception 'Return "User Not Authenticated" Return ex.StackTrace End Try 但仍然遇到同样的问题。 任何和所有的帮助非常感谢。

1 个答案:

答案 0 :(得分:1)

这听起来像是一个许可问题。检查运行该网站的应用程序池,并确保它具有所需的访问权限。

您可能希望为此网站创建一个应用程序池,并让它以有权访问您正在进行的Active Directory调用的用户身份运行。

在本地计算机上,它可能具有增强的访问权限,并且可以正常运行。默认情况下,应用程序池无法访问任何内容。

相关问题