Question

Je rencontre cette erreur: la vérification des informations d'identification a échoué. Lorsque j'essaie de me connecter avec un utilisateur Active Directory dans une approvisionnement ASP.NET à l'aide de l'authentification basée sur le formulaire.

J'ai une configuration complexe comme suit:

J'utilise un Active Directory Lightweight Directory Services (AD LDS), AKA Adam comme référentiel d'adhésion. Je l'ai emballé à un Active Directory avec des utilisateurs proxy et j'ai terminé un AdamSync. J'ai configuré un certificat SSL pour les AD LD. Bien que connecté aux AD LD avec LDP.exe, je suis en mesure de me connecter / de se lier avec les utilisateurs AD LDS ou les utilisateurs d'annonces, donc le proxy est OK. Mon application ASP.NET parle aux AD LDS, et je suis en mesure de me connecter avec succès avec les utilisateurs AD LDS en utilisant l'authentification basée sur les formulaires.

Mais je ne suis pas en mesure de me connecter avec mes utilisateurs d'annonces avec l'application ASP.NET, qu'est-ce que je manque?

Voici ma section de fournisseur de mon web.config:

<add name="MyADConnectionString"
     connectionString="LDAP://localhost/OU=Users,DC=PreuveConcept,DC=local" />

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>

<membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
  <providers>
    <clear/>
    <add name="AspNetActiveDirectoryMembershipProvider" 
         type="System.Web.Security.ActiveDirectoryMembershipProvider" 
         connectionStringName="MyADConnectionString" 
         connectionProtection="Secure" 
         enableSearchMethods="true"/>
  </providers>
</membership>

Voici mon action de connexion (par défaut MVC AcUntController):

    [HttpPost]
    public ActionResult LogOn(LogOnModel model, string returnUrl)
    {
        if (ModelState.IsValid)
        {
            if (Membership.ValidateUser(model.UserName, model.Password))
            {
                FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
                    && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
                {
                    return Redirect(returnUrl);
                }
                else
                {
                    return RedirectToAction("Index", "Home");
                }
            }
            else
            {
                ModelState.AddModelError("", "The user name or password provided is incorrect.");
            }
        }

        // If we got this far, something failed, redisplay form
        return View(model);
    }

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top