UserPrincipal.FindByIdentity - 对开发者抛出错误

UserPrincipal.FindByIdentity - throwing error on dev

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

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

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

at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_AdsObject() at System.DirectoryServices.PropertyValueCollection.PopulateList()
at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName)
at System.DirectoryServices.PropertyCollection.get_Item(String propertyName)
at System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInitNoContainer()
at System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit()
at System.DirectoryServices.AccountManagement.PrincipalContext.Initialize()
at System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx()
at System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithTypeHelper(PrincipalContext context, Type principalType,Nullable`1 identityType, String identityValue, DateTime refDate)
at System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithType(PrincipalContext context, Type principalType, IdentityType identityType, String identityValue) at System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity(PrincipalContext context, IdentityType identityType, String identityValue) at ChangeControl.HelpersSystem.GetEmail(String& uId) in C:\Work\Simon\ChangeControl\ChangeControl\HelperClasses\HelpersSystem.vb:line 24

我环顾四周,这是最接近我正在尝试做的事情

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

我需要帮助的是我需要提供哪些其他变量(如果有的话),因为我也尝试过使用用户名和密码,但这也不起作用,并给出了同样的错误消息。

我也尝试过不使用 IdentityType,但仍然遇到同样的问题。 非常感谢任何帮助。

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

您可能想要为此站点创建一个应用程序池,并将其运行作为有权进行您正在执行的 Active Directory 调用的用户。

在您的本地计算机上,它可能已经提高了它需要和工作的访问权限。默认情况下,应用程序池无权访问任何内容。