Mon entreprise a récemment changé d'un T-1 dédié à une connexion Comcast à haut débit. Immédiatement après, ce problème a commencé. Nos machines de développement sont locales, mais notre serveur Active Directory (utilisé pour tester et mettre en scène le produit avant les déploiements) est une instance de cloud public située sur Rackspace. Les machines dev ne sont pas connectées au domaine.ActiveDirectoryMembershipProvider "Le domaine ou le serveur spécifié n'a pas pu être contacté" APRES avoir changé de Comcast
Nous utilisons ActiveDirectoryMembershipProvider et l'authentification basée sur formulaire - ainsi que des requêtes LDAP dans l'application elle-même une fois l'authentification terminée.
Nous utilisons cette configuration depuis plusieurs mois - pas de problème. Après le passage à Comcast - tout semble fonctionner correctement, sauf ceci. Lorsque nous essayons d'exécuter l'application localement, nous obtenons l'erreur ci-dessus.
Erreur de serveur dans l'application '/ Web.NEPA'.
--------------------------------------------------------------------------------
Erreur de configuration Description: Une erreur est survenue lors du traitement d'un fichier de configuration requis pour cette demande. Veuillez consulter les détails d'erreur spécifiques ci-dessous et modifier votre fichier de configuration de manière appropriée.
Message d'erreur de l'analyseur: Le domaine ou le serveur spécifié n'a pas pu être contacté.
erreur Source:
Ligne 4: Ligne 5: Ligne 7: connectionStringName = "LdapService" Ligne 8: attributeMapUsername = "SAMAccountName"
Fichier source: C: \ dev \ EMSolution \ branches \ 3.4.0.0 \ Web.NEPA \ App_Config \ Test \ 3.4.0.0 \ NEPAARNG \ System.Web.Membership.config ligne: 6
--------------------------------------------------------------------------------
Informations sur la version: Microsoft .NET Framework version: 2.0.50727.4952; Version ASP.NET: 2.0.50727.4955
Je me suis assuré que ce n'était pas un problème de pare-feu sur le côté Rackspace (en l'éteignant complètement et en essayant une connexion). J'ai également créé un programme de test pour exécuter une requête LDAP sur notre instance AD - ce qui fonctionne parfaitement.
--- est ici quelques-uns des articles référencés:
<membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
<providers>
<add name="AspNetActiveDirectoryMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="LdapService"
attributeMapUsername="SAMAccountName"
connectionUsername="DEV1\emsutil"
connectionPassword="*****"
connectionProtection="None"
requiresQuestionAndAnswer="false"
minRequiredPasswordLength="4"
minRequiredNonalphanumericCharacters="0"
enableSearchMethods="true"/>
</providers>
</membership>
<connectionStrings>
<add name="LdapService" connectionString="LDAP://cloud1.dev1/DC=dev1" />
</connectionStrings>
--- Programme de test qui fonctionne correctement:
using System;
using System.DirectoryServices;
namespace ldaptest
{
internal class Program
{
private static void Main(string[] args)
{
DirectoryEntry de = new DirectoryEntry();
de.Path = "LDAP://cloud1.dev1/DC=dev1";
de.Username = "[email protected]";
de.Password = "*****";
DirectorySearcher srch = new DirectorySearcher(de);
srch.Filter = "(objectClass=user)";
using (SearchResultCollection results = srch.FindAll())
{
foreach (SearchResult res in results)
{
Console.WriteLine("\t{0}", res.Path);
}
}
Console.ReadKey();
}
}
}
Excellente suggestion ... nous avons au moins temporairement résolu le problème en faisant du serveur distant un serveur DNS pour nos VM de développement ... ce serait beaucoup mieux - vous le ferai savoir une fois que je traverse la structure de support Comcast. –