我正在构建一个ASP.NET MVC5应用程序,我正在尝试对端口636上的LDAP服务器进行身份验证。我可以看到绑定帐户在端口636上进行身份验证,但是当应用程序验证用户身份时,我收到错误消息:
无法联系指定的域或服务器
然而,对于wireshark,当我的连接用户名进行身份验证时,我可以看到正确的端口上的流量。当我尝试验证登录用户时发生错误。出于某种原因,当它用于验证我的登录用户时,它正试图在445上进行通信。
这是我在web.config中的连接字符串和成员资格提供程序。
<add name="ADCon" connectionString="LDAP://ldap.xxx.xxx.edu:636/DC=xxx,DC=xxx,DC=edu"/>
<membership defaultProvider="ADMembershipProvider">
<providers>
<clear />
<add name="ADMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ADCon"
connectionProtection="Secure"
connectionUsername="ldap-auth"
connectionPassword="pwd"
attributeMapUsername="sAMAccountName" />
</providers>
</membership>
如果我打开端口445和139它没有问题。但是当然在我们的生产环境中我们只能使用超过636的ldap。为什么这会在636以上验证connectionUsername帐户,但是在登录应用程序用户时切换到445?有没有办法让MVC 5应用程序只使用ldap端口进行身份验证?