IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

connexion Ldap et recupération d'information


Sujet :

ASP

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 4
    Points : 1
    Points
    1
    Par défaut connexion Ldap et recupération d'information
    je cherche un exemple d'une connexion a un serveur Ldap et de plus qu'on puisse avec la requete récupérer par exemple le mail de la personne souhaité (en mettant en paramètre de la requète le login et pass de la personne)

    merci

    PS: j'ai déjà fait des recherches mais je n'est pas trouver mon bonheur

  2. #2
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    Regarde du côté d'ADSI qui fourni des fonction pour attaquer LDAP. Je viens de finir un projet de login qui employait ceci en ASP.
    http://msdn.microsoft.com/library/de...sual_basic.asp

    Après pour avoir le mail de la personne pas besoin de son mot de passe tu n'as pas besoin d'avoir son login, il faut juste le login d'une personne qui a les droits suffisants (qui fait partie du domaine). Il y a donc 2 possibiltés de se connecter sur LDAP, soit avec le login courant du pc soit en mettant un login explicite

    Je regarderai au travail demain j'avais trouvé une doc pas mal mais sur le coup je trouve plus

    Bonne chance moi aussi j'ai eu beaucoup de mal à trouver de la doc
    Fiquet
    - FAQ SDL
    - FAQ C++

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour cette réponse , je vais voir tout de suite
    non en fait que je cherche à faire c'est une mire de connexion en asp mais qui interroge Ldap avec les login et mdp du formulaire

  4. #4
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    Voilà le lien de la doc comme promis si ça peut t'aider
    http://download.microsoft.com/downlo...e4b/adsint.doc

    Mais que veux-tu dire par une mire de connexion? Tu veux en faites tester la paire login/password de l'utilisateur par rapport à ses infos dans Active Directory? Si oui je peux t'aiguiller c'est ce que j'ai fait.
    Fiquet
    - FAQ SDL
    - FAQ C++

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    merci encore
    oui c'est exatement ca

  6. #6
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    Alors voilà ce code VBS si ça peut t'intéresser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    Option Explicit
    'On Error Resume Next
     
    ' Déclaration des variables
    Dim dso
    Dim obj1
    Dim sUsername
    Dim sPassword
    Dim oAdSystemInfo
    Const ADS_SECURE_AUTHENTICATION = 1
     
    ' Récupération de l'objet LDAP
    Set dso = GetObject("LDAP:")
     
    ' Crée un objet ADSystemInfo pour avoir le username courant
    Set oAdSystemInfo = CreateObject("ADSystemInfo")
     
    ' Initialisation de la variable pour l'utilisateur loggé sur la machine
    'sUsername = oAdSystemInfo.UserName
     
    ' Initialisation de la variable en entrant un username quelconque
    sUsername = InputBox("Veuillez entrer votre accompte", "Test login", "Accompte")
     
    sPassword = InputBox("Veuillez entrer votre mot de passe", "Test login", "Mot de passe")
     
    ' Connexion sur LDAP en utilisant un nom d'utilisateur explicite
    Set obj1 = dso.OpenDSObject("LDAP://domainname", sUsername, sPassword, ADS_SECURE_AUTHENTICATION)
     
    ' Test si une exception est retournée, alors le login a échoué
    If (Err <> 0) Then
    	MsgBox "Accompte ou mot de passe incorrect!"
    Else
    	MsgBox "Login réussi!"
    End if
    Met-le dans un fichier vbs, modifie le domaine par rapport au domaine où tu te trouves et ça devrait marcher. Il te retourne une erreur en cas de mauvais login. Après si tu veux faire le test tu peux enlever le commentaire de On Error Resume Next.

    Si ça marche ce sera facilement portable en ASP (MsgBox en response.write, etc.). C'est le 1er code que j'ai essayé qui marchait

    Voilà a+ j'attends ton feed-back
    Fiquet
    - FAQ SDL
    - FAQ C++

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    ok merci
    je pourrai tester a partir de la semaine prochaine

  8. #8
    Membre habitué Avatar de wil4linux
    Inscrit en
    Février 2005
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 205
    Points : 174
    Points
    174
    Par défaut
    Bonjour, je cherche a récupérer une adresse mail en interrogeant LDAP, mais je ne connais pas vraiment la synthaxe...

  9. #9
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    Hello wil4linux,

    Ce code affiche le nom et l'adresse email d'une personne qui est dans un annuaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <%
    ' Création d'un objet LDAP sans accompte spécifique
    'Set objContainer = GetObject("LDAP://DomaineEtChemin")
     
    ' Création d'un objet LDAP avec accompte spécifique
    Set objNamespace = GetObject ("LDAP:")
    Set objContainer = objNamespace.OpenDSObject ("LDAP://DomaineEtChemin", "nomUser", "MotDePasse", &H1)
     
    ' Affiche le nom et le mail trouvés
    response.write(objContainer.Get("name") & " ")
    response.write(objContainer.Get("mail") & "<br>")
    %>
    Si le serveur ASP a accès au domaine, on peut simplement employer GetObject() pour se connecter (en commentaire) sinon comme chez moi il faut un utilisateur qui a les droits pour voir le domaine.

    Après il faut modifier dans le code "DomaineEtChemin" par rapport à la personne.

    Je ne peux pas être beaucoup plus explicit, pour plus d'infos lis la doc que j'ai mis en lien avant, tu y trouveras toutes les autres infos sur ADSI.
    Fiquet
    - FAQ SDL
    - FAQ C++

  10. #10
    Membre habitué Avatar de wil4linux
    Inscrit en
    Février 2005
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 205
    Points : 174
    Points
    174
    Par défaut
    ok je te remercie..
    entre tps g trouvé la solution
    jte la fera parvenir demain sur le ce topic..
    ca marche dun autre maniere
    voila merci encore

    cordialement

    willy

  11. #11
    Membre habitué Avatar de wil4linux
    Inscrit en
    Février 2005
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 205
    Points : 174
    Points
    174
    Par défaut
    voila mon code comme promis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    '=============================
    'le userId est récupérer ds Outlook par 
    'currentAddress, c'est l'allias du cranet Outlook
    '=============================
     
    Function getMailByLdap(userId)
    	Dim Adresse
    	Dim conLdap,rsLdap,ComLdap
    	Dim valeursLdap 
     
    	if userId = "" then
    	   getMailByLdap = ""
    	else
    		Set conLdap = Server.CreateObject("ADODB.Connection")
    		conLdap.provider ="ADsDSOObject" 
    		conLdap.open "Active Directory Provider" 
    		Set ComLdap = CreateObject("ADODB.Command") 
    		Set ComLdap.ActiveConnection = conLdap
    		Set rsLdap = Server.createObject("ADODB.Recordset")
     
    		valeursLdap = "givenName, sn, telephoneNumber, mail"
     
                    ' récupérer l'adresse mail
    		ComLdap.CommandText = "select " & valeursLdap & " from 'LDAP://nom_serveur:389/dc=blabla,dc=blabla,dc=blabla' WHERE cn='" & userId &"'"
    		Set rsLdap = ComLdap.Execute
     
    		dim returnValue, i
     
    		'énumérer tous les enregistrements retournés par LDAP
    		Do While Not rsLdap.EOF Or rsLdap.BOF
    		   ReturnValue = rsLdap.Fields("mail")
    		   If IsArray(ReturnValue) Then
    		        For i = LBound(ReturnValue) To UBound(ReturnValue)
    		            If ReturnValue(i) <> "" Then
    		                getMailByLdap = ReturnValue(i)
    		            End If
    		        Next
    		   Else
    		        getMailByLdap = ""
    		   End If
    		   rsLdap.MoveNext
    		Loop
     
    		' fermeture des objets de l'annuaire LDAP
    		conLdap.Close 
    		Set rsLdap = Nothing 
    		Set conLdap = Nothing
     
    	End if
     
    End Function
    Voila

    bon courage 8)

  12. #12
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    Ah ok oui ça marche aussi ta méthode n'utilise pas ADSI.

    Mais pour un login je ne pense pas que passer par ADODB soit possible.
    Fiquet
    - FAQ SDL
    - FAQ C++

  13. #13
    Membre habitué Avatar de wil4linux
    Inscrit en
    Février 2005
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 205
    Points : 174
    Points
    174
    Par défaut
    c possible...lol

  14. #14
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    Citation Envoyé par lechatmagik
    ok merci
    je pourrai tester a partir de la semaine prochaine
    Alors as-tu pu faire marcher ton code?
    Fiquet
    - FAQ SDL
    - FAQ C++

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/07/2006, 20h42
  2. Recupération d'information sur les filtres
    Par Alpha31 dans le forum Access
    Réponses: 2
    Dernier message: 16/06/2006, 22h35
  3. connexion ldap dans le livre jsp professionnel
    Par mjihanne dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 27/05/2006, 16h46
  4. Connexion LDAP (active directory)
    Par Mateache dans le forum ASP
    Réponses: 2
    Dernier message: 09/05/2006, 13h33
  5. [LDAP] connexion LDAP
    Par abertaud dans le forum API standards et tierces
    Réponses: 15
    Dernier message: 20/07/2005, 09h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo