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.NET Discussion :

[VB.Net][2.0] Connexion à LDAP


Sujet :

ASP.NET

  1. #1
    Bz
    Bz est déconnecté
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 176
    Points : 127
    Points
    127
    Par défaut [VB.Net][2.0] Connexion à LDAP
    plop,

    je cherche desespérement un bout de code permettant de tester d'authentifier un user en asp.net via openldap.

    J'ai trouvé un bout de code qui maleureusement ne marche pas :/


    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
     Dim dso
            Dim obj
     
            Dim adUsername As String
            Dim adPassword As String
            Dim adChemin As String
     
            Response.Write("debut")
     
            adUsername = "cn=Manager" '& ",dc=my-domain,dc=com"
            adPassword = "secret"
            adChemin = "ldap://localhost/cn=Manager,dc=my-domain,dc=com"
     
     
            On Error Resume Next
            dso = GetObject("LDAP:")
            If (Err.Number <> 0) Then
                Response.Write("GetObject " & Err.Description)
                Exit Sub
            End If
     
     
     
            On Error Resume Next
            obj = dso.OpenDSObject(adChemin, adUsername, adPassword, 0)
            If (Err.Number <> 0) Then
                Response.Write("OpenObject " & Err.Description)
                Exit Sub
            End If
     
            obj = Nothing
            dso = Nothing
            Response.Write("fin")
    j'ai trituré ce code dans tous les sens et impossible de le faire marcher.
    Quelqu'un aurait il une idée?

    PS : pas bien compris dans les rules le tag a utiliser pour l'asp.net

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Cher ami vbciste tu aurais grand intérêt à mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Option Explicit On
    Option Strict On

    Afin de prendre de bonnes habitudes et de commencer à coder VB.Net (et pas VB6 )

    Essayes
    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
     
    Dim dso As Object
    Dim obj  As Object
    Dim adUsername As String 
    Dim adPassword As String 
    Dim adChemin As String 
    Try
      Response.Write("debut")
      adUsername = "cn=Manager" '& ",dc=my-domain,dc=com" 
      adPassword = "secret" 
      adChemin = "ldap://localhost/cn=Manager,dc=my-domain,dc=com" 
      dso = GetObject("LDAP:") 
      obj = dso.OpenDSObject(adChemin, adUsername, adPassword, 0) 
      //traitement supplementaire
      Response.Write("fin")
    Catch ex As Exception
      Response.Write(ex.Message) 
    Finally
      If Not(obj Is Nothing) Then obj = Nothing 
      If Not(dso Is Nothing) Then dso = Nothing
    End Try
    Bon je n'ai pas cherché plus loin mais au moins tu sauras de façon explicite quelle est l'exception levée
    N'oublie pas de nous le communiquer de façon complète

  3. #3
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Il y a un plein de sujets à ce propos : Recherche avancée, Webforms..., LDAP ou Active Directory

  4. #4
    Bz
    Bz est déconnecté
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 176
    Points : 127
    Points
    127
    Par défaut
    ca y est ca marche

    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
    Imports System.DirectoryServices
    Public Class WebForm1
        Inherits System.Web.UI.Page
     
        Public cheminLDAP As String = "LDAP://localhost:389/cn=Personne1,cn=Manager,dc=my-domain,dc=com"
        Public nomLDAP As String = "Personne1"
        Public passLDAP As String = "pass1"
     
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            If userExist() = True Then
                Response.Write("L'utilisateur existe")
            Else
                Response.Write("L'utilisateur n'existe pas")
            End If
        End Sub
        Public Function userExist() As Boolean
            Try
                ' Connexion à l'annuaire
                Dim monEntry As New DirectoryEntry(cheminLDAP, _
                                                    nomLDAP, _
                                                    passLDAP, _
                                                    AuthenticationTypes.Anonymous)
                Dim maRecherche As DirectorySearcher = New DirectorySearcher
                maRecherche.SearchRoot = monEntry
                maRecherche.Filter = "(&(objectClass=person) (cn=" + nomLDAP + ") (userPAssword=" + passLDAP + "))"
                ' Récupération du résultat de la requête
                Dim results As SearchResultCollection = maRecherche.FindAll()
                monEntry.Close()
                ' Analyse du résultat
                If results.Count = 0 Then Return False Else Return True
     
            Catch ex As Exception
                Response.Write(ex.Message & " " & ex.Source)
            End Try
        End Function
    End Class

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CR.NET] Problème de connexion pour un sous-état
    Par HULK dans le forum Connectivité
    Réponses: 16
    Dernier message: 02/06/2009, 10h37
  2. [ADO.Net][C#]Pourquoi connexion fermée est active>SQLServ
    Par superbobo dans le forum Accès aux données
    Réponses: 3
    Dernier message: 25/01/2006, 17h57
  3. [VB.NET] Problème de connexion à SQL Server
    Par Nesmontou dans le forum ASP.NET
    Réponses: 8
    Dernier message: 29/07/2005, 10h12
  4. [VB.NET] Pb de connexion sql
    Par new_wave dans le forum ASP.NET
    Réponses: 19
    Dernier message: 24/03/2005, 13h06
  5. [CR][VB.NET] Echec de connexion
    Par Shuret dans le forum SDK
    Réponses: 5
    Dernier message: 15/09/2004, 10h46

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