6
votes

ASP.NET MVC: Comment configurer Web.config pour l'authentification LDAP?

J'ai un serveur LDAP de travail avec ces paramètres: xxx pré>

i avec succès fort> accès avec un client LDAP générique fort>, comme le bon Jarek Gawor Navigateur / client LDAP avec les paramètres suivants: P>

<configuration>
  <connectionStrings>
  <add name="ADConnectionString" connectionString="LDAP://myhost:389"/>
  ....

<membership defaultProvider="DefaultMembershipProvider">
  <providers>
    <add name="DefaultMembershipProvider"
         type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
         connectionStringName="ADConnectionString"
         connectionProtection="None"
         connectionUsername="MYDOMAIN\myid"
         connectionPassword="mypwd"
         attributeMapUsername="sAMAccountName"
         enableSearchMethods="True" />
  </providers>
</membership>
......


2 commentaires

myPass ou mypwd ou c'est juste une faute de frappe?


Désolé @wiktorzychla, c'était juste un exemple. J'ai normalisé le mot de passe comme mypwd. Merci


3 Réponses :


0
votes

Le seul élément manquant semble être l'unité d'organisation par défaut. Avez-vous essayé d'ajouter l'entrée de fuite ci-dessous " / cn = utilisateurs, dc = TestDomain1, dc = test, dc = com "? xxx

J'ai eu ce qui précède de http: / /msdn.microsoft.com/en-us/library/ff650307.aspx


3 commentaires

Merci @kevin. Malheureusement ça ne marche pas. Quoi qu'il en soit avec d'autres clients LDAP, je viens de définir dn base = "ou = users, ou = mydomain, o = ce domaine" et appends uid = myid & mot de passe = myPWD à la base dn ... J'ai fait plusieurs tentatives, changer de nom d'utilisateur avec MyID @ mydomain, mydomain \ myid, myd, uid = myid, etc ....


Je suppose que le nom d'utilisateur / mot de passe n'a pas d'étrange caractères pouvant causer ce problème. Je ne sais pas combien de contrôle vous avez sur l'envrage, mais renifler les paquets réseau et / ou accéder aux journaux d'annonce seraient également utiles. Vous avez apparemment essayé tout le reste!


Thx kevin! Je réussis à faire du travail! Juste maintenant, je ne peux pas mettre ici la solution, en raison de la limite de mon compte (j'ai moins de 100 représentants). Je vais mettre une réponse complète dans les 8 prochaines heures, Thx il y avait deux problèmes / erreurs. 1er) Je n'ai pas spécifié le conteneur, j'ai suivi Kevin Inc.: 2e) Je mets la base Dn et le nom d'utilisateur ensemble à l'intérieur de ConnectionNeName Paramètre: ... ConnecteDusername = "uid = myid, o = ce domaine" Je ne sais pas si cela Pourrait être une solution générale, les phéraps sont liés à la configuration de Adas de ma société, je ne sais pas. @Kevin: Merci beaucoup. Je tu as été utile!



2
votes

J'ai réussi à faire fonctionner avec la configuration suivante web.config em>.

Il y avait deux problèmes / erreurs: p>

1st) Je n'ai pas spécifié le conteneur, donc j'ai suivi les astuces de Kevin: P>

<membership defaultProvider="DefaultMembershipProvider">
  <providers>
<add name="DefaultMembershipProvider"
     type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
     connectionStringName="ADConnectionString"
     connectionProtection="None"
     connectionUsername="uid=myid, O=this domain"
     connectionPassword="mypwd"
     attributeMapUsername="sAMAccountName"
     enableSearchMethods="True" />


0 commentaires

0
votes

Webconfig

xxx

C # code

loginrslt = adauth.isauthentifié (configurationsSettings.appssets ["LDAPDOMAIN "] .Tostring (), _Asername, _password);


0 commentaires