Sitecore: The AD membership provider couldn't be initialized: Directory server "X" does not exist or cannot be contacted
I am trying to connect to two different LDAP connection strings from on my CM server which is behind the firewall. I'm able able to connect to the one connection string which points to an AD Server in the same domain but the second one throws the following error:
3248 16:01:52 ERROR The AD membership provider couldn't be initialized: Directory server "" does not exist or cannot be contacted. Exception: System.DirectoryServices.ActiveDirectory.ActiveDirectoryObjectNotFoundException Message: Directory server "" does not exist or cannot be contacted. Source: System.DirectoryServices at System.DirectoryServices.ActiveDirectory.ActiveDirectorySchema.GetSchema(DirectoryContext context) at LightLDAP.SitecoreADProfileProvider.Initialize(String name, NameValueCollection config)
I am able to connect to both the connection strings using Softerra's LDAP Browser which tells me that all required ports are accessible on all servers. Not sure what the problem is with Sitecore's LDAP Module. Has anyone come accros this scenario?
As per Sitecore, the LDAP Browser uses port 389 while Sitecore's LDAP Modules requires access to port 389 and port 445 and hence LDAP browser installed on the CM and CD servers was able to connect while the AD module was throwing an error. These ports needed to be opened on all AD servers and CM/CD servers as well (outbound for CM and CD).
Further more, the port 445 is used exclusively by the profile providers. So in case you do not absolutely need the profiles integrated you can simply disable the profile provider config elements and you should have authentication working with AD. We needed this workaround since one of data centers hosting one of the AD servers had no way of granting access to port 445.