Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Candidat au titre de Membre du Club
    Profil pro G_like Did
    Inscrit en
    mars 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Nom : G_like Did

    Informations forums :
    Inscription : mars 2010
    Messages : 28
    Points : 13
    Points
    13

    Par défaut php et active directory 2008R2

    Bonjour,

    je rencontre des difficultés pour vérifier un mot de passe AD via un script PHP. Le problème se concentre sur les mots de passe avec caractères accentués (é,à ...).
    J'utilise un code comme celui-ci:
    Code :
    1
    2
    3
     
    $pwd_frm = utf8_encode($passwd1);
    $bind = ldap_bind($connect, $log_frm, $pwd_frm);
    Avec un mot de passe avec caractère accentué, j'ai un warning "invalid credential". Aucun problème sans les caractères accentués.
    Nous venons de faire la migration de l'AD de 2003 en 2008 R2 et je n'avais pas eu ce problème en 2003. Se pourrait-il que les mots de passe soient encodés autrement qu'en utf8 en AD 2008R2 ?
    Quelqu'un saurait-il me mettre sur une piste ?

    merci d'avance.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro Vincent
    Inscrit en
    juillet 2005
    Messages
    21 395
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 395
    Points : 31 172
    Points
    31 172

    Par défaut

    ajoute ce test pour essayer d'avoir plus d'infos :
    Code :
    1
    2
    3
    4
    5
    6
    7
    if ($bind) {
        if (ldap_get_option($handle, LDAP_OPT_DIAGNOSTIC_MESSAGE, $extended_error)) {
            echo "Error Binding to LDAP: $extended_error";
        } else {
            echo "Error Binding to LDAP: No additional information is available.";
        }
    }

  3. #3
    Candidat au titre de Membre du Club
    Profil pro G_like Did
    Inscrit en
    mars 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Nom : G_like Did

    Informations forums :
    Inscription : mars 2010
    Messages : 28
    Points : 13
    Points
    13

    Par défaut

    Merci sabotage de t'intéresser à ce sujet.

    La fonction ldap_get_option ne propose pas l'option LDAP_OPT_DIAGNOSTIC_MESSAGE.
    J'ai essayé avec LDAP_OPT_ERROR_STRING mais je n'ai aucun retour. J'ai essayé avec LDAP_OPT_ERROR_NUMBER, il me retourne 0 mais je ne sais pas ce que veux dire ce code.

    De mon côté, j'ai fait un essai sans encoder le mot de passe en utf-8. Et bizarrement, ça passe pour un mot de passe ayant le caractère é (les autres caractères du mot de passe ne sont pas des caractères accentués ni des caractères spéciaux). Je vais faire des tests pour l'ensemble des caractères spéciaux.

    A suivre...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro Vincent
    Inscrit en
    juillet 2005
    Messages
    21 395
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 395
    Points : 31 172
    Points
    31 172

    Par défaut

    Si ton fichier est déjà en utf8, tu n'as pas besoin de re-encoder ta chaine.

  5. #5
    Candidat au titre de Membre du Club
    Profil pro G_like Did
    Inscrit en
    mars 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Nom : G_like Did

    Informations forums :
    Inscription : mars 2010
    Messages : 28
    Points : 13
    Points
    13

    Par défaut

    Ok, merci. Le fait est que mon fichier est déjà en utf-8, LDAP/AD n'est pas en cause.

    Merci Sabotage.

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •