我正在使用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
但仍然遇到同样的问题。
任何和所有的帮助非常感谢。
答案 0 :(得分:1)
这听起来像是一个许可问题。检查运行该网站的应用程序池,并确保它具有所需的访问权限。
您可能希望为此网站创建一个应用程序池,并让它以有权访问您正在进行的Active Directory调用的用户身份运行。
在本地计算机上,它可能具有增强的访问权限,并且可以正常运行。默认情况下,应用程序池无法访问任何内容。