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

VB.NET Discussion :

[VB.Net] Comment récupérer les Attributs LDAP ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Par défaut [VB.Net] Comment récupérer les Attributs LDAP ?
    Bonjour,

    J'accède sans problème à de nombreuses propriétés de mon annuaire, mais une me lève une exception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.Session("dept") = DirEntry.Properties("DP").Value

    System.Runtime.InteropServices.COMException - Le type de donnée répertoire ne peut pas être converti à partir/vers un type de donnée de service d'annuaire natif
    Merci

    ps : ce post à plus avoir avec ldap que dotnet, masi il n'y a pas de rubrique ldap...

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 94
    Par défaut
    Ah! je l'ai aussi eut celle-la.....

    En fait le soucis est que tu ne filtre pas les propriètès qu'il ramènent
    donc ils les ramènent toutes..
    Et alors, dieu sait pourquoi, il plante.....
    Tu dois d'abord choisir les proprietes que tu veux ramener et après suelement requeter sur le ldap avec ton searcher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DirectorySearcher dirSearcher;
    dirSearcher.PropertiesToLoad.Add("DP")
    une fois loadées tu fait appel à ton searcher
    et lis l'entrée retournée avec la liste des propriétés séléctionnées
    plus 4/5 par défaut...

  3. #3
    Membre éclairé Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Par défaut
    Merci pour ta proposition, mais helas le problème demeure. Je n'y comprends rien...

    EDIT : je visualise pourtant sans problème cet attribut avec le logiciel dont tu me parlais (softerra)

    EDIT 2 : C'est un attribut ajouté et non pas natif... la cause est sûrement là, mais que faire....

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 94
    Par défaut
    Ok,
    Tu pourrais faire voir le code amont à ta lecture de properties?

  5. #5
    Membre éclairé Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Par défaut
    Yeap

    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
     
    Dim DirEntry As New DirectoryEntry
                Dim Ldap As DirectoryEntry = New DirectoryEntry("LDAP://mon.serveur:389/ou=people,o=toto")
                Dim searcher As DirectorySearcher = New DirectorySearcher(Ldap)
                searcher.PropertiesToLoad.Add("DP")
                searcher.Filter = "(uid=" + UserCode.Text + ")"
                Try
                    Dim mySearchResult As SearchResult = searcher.FindOne()
                    If Not (mySearchResult Is Nothing) Then
                        DirEntry = mySearchResult.GetDirectoryEntry
     
                        Me.Session("dept") = DirEntry.Properties("DP").Value
                        Me.Session("uid") = DirEntry.Properties("uid").Value
                        Me.Session("email") = Trim(DirEntry.Properties("mail").Value)
                        Me.Session("prenom") = Trim(DirEntry.Properties("givenname").Value)
                        Me.Session("nom") = Trim(DirEntry.Properties("SN").Value)
                        Me.Session("pwd") = MotPasse.Value
                    Else
                        result = False
                    End If
                Catch ex As Exception
    ...
    je vais essayer avec une autre api car il se peut que certaines fonctionnalités ne soient pas implémentées.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 94
    Par défaut
    ok test voir ca:

    Dans softerra, va sur un uid, fait un click droit / properties et récuper le chemin

    ensuite essaie comme ca;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Ldap As DirectoryEntry = New DirectoryEntry(cheminSofterra) 
    Me.Session("dept") = DirEntry.Properties("DP").Value
    si la, ça passe, il va falloir faire comme nous;

    verifer que l'entrée existe si oui alors faire appelle au code précedent
    en construisant l'adresse par un traitement sur le chemin ldap de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mySearchResult.GetDirectoryEntry
    pas terrible mais on a rien trouvé de mieux....

  7. #7
    Membre éclairé Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Par défaut
    Merci encore pour ton aide, mais hélas ça ne marche pas. Je crois que cela vient de l'api qui ne permet pas de tout faire, notament de récupérer certains types de données (qui ne sont pas prédéfinies).
    J'ai récupéré une autre API : http://sharptoolbox.com/Search.aspx?Query=ToolName%3dldap
    et ça marche

    a+

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/11/2014, 22h38
  2. [CAS] Récupérer les attributs LDAP de l'utilisateur connecté
    Par ericw78 dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 02/12/2011, 21h53
  3. Récupérer les attributs LDAP d'un Active Directory
    Par zakarota dans le forum Général Java
    Réponses: 2
    Dernier message: 08/06/2011, 14h53
  4. Réponses: 1
    Dernier message: 23/07/2010, 13h53
  5. [VB.Net] Comment récupérer les proprietes d'une image ?
    Par Cirdan Telemnar dans le forum VB.NET
    Réponses: 2
    Dernier message: 29/06/2006, 16h15

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