Nous arrivons à la même conclusion sur les applications qui utilisent LDAP. Je vais essayer d'être plus clair en posant des questions précises.
J'ai beau avoir lu "Les annuaires LDAP : Protocole, administration, méta-annuaires, API" et plusieurs HOWTO, et la gestion des authentifications reste floue. Et je n'ai trouvé nul part un "howto" qui explique comment un développeur doit implémenter ça dans son application.
J'ai listé les deux méthodes que j'ai rencontré, sans être capable de détailler le contenu, sans savoir quelle est la meilleur des deux. J'imagine donc les problèmes rencontrés par les développeurs qui veulent supporter LDAP.
Méthode bind:
1- Se connecter au serveur
2- Faire un bind(user, pass) pour la partie authentification
3- Et ensuite pour l'autorisation ? Lire les valeurs de l'attribut member du groupe et regarder si on est dedans ?
4- Se déconnecter
Méthode mysql:
1- Se connecter au serveur
2- Faire un bind avec l'utilisateur applicatif
3- Rechercher l'utilisateur
4- Si on l'a trouvé, lire les valeurs de l'attribut userpassword ?
5- Espérer que c'est un algo connu et vérifier en local si on obtient la même valeur ?
6- Pour les groupes, idem, lire les valeurs de l'attribut member du groupe concerné ?
7- Se déconnecter
Ces séquences sont probablement fausses, mais je ne trouve pas plus d'informations claires sur la méthode à suivre. Toute recherche sur Google de "LDAP authentification" remonte tous les cas particuliers de chaque application et tous les problèmes que les gens ont rencontré; mais pas ça.
C'est bien les referals, les opérations étendues, mais les usecase de base, dans les règles de l'art, sont difficiles à trouver.
[^] # Re: Pour ou contre
Posté par Sébastien Koechlin . En réponse au journal Références et LDAP. Évalué à 1.
J'ai beau avoir lu "Les annuaires LDAP : Protocole, administration, méta-annuaires, API" et plusieurs HOWTO, et la gestion des authentifications reste floue. Et je n'ai trouvé nul part un "howto" qui explique comment un développeur doit implémenter ça dans son application.
J'ai listé les deux méthodes que j'ai rencontré, sans être capable de détailler le contenu, sans savoir quelle est la meilleur des deux. J'imagine donc les problèmes rencontrés par les développeurs qui veulent supporter LDAP.
Méthode bind:
1- Se connecter au serveur
2- Faire un bind(user, pass) pour la partie authentification
3- Et ensuite pour l'autorisation ? Lire les valeurs de l'attribut member du groupe et regarder si on est dedans ?
4- Se déconnecter
Méthode mysql:
1- Se connecter au serveur
2- Faire un bind avec l'utilisateur applicatif
3- Rechercher l'utilisateur
4- Si on l'a trouvé, lire les valeurs de l'attribut userpassword ?
5- Espérer que c'est un algo connu et vérifier en local si on obtient la même valeur ?
6- Pour les groupes, idem, lire les valeurs de l'attribut member du groupe concerné ?
7- Se déconnecter
Ces séquences sont probablement fausses, mais je ne trouve pas plus d'informations claires sur la méthode à suivre. Toute recherche sur Google de "LDAP authentification" remonte tous les cas particuliers de chaque application et tous les problèmes que les gens ont rencontré; mais pas ça.
C'est bien les referals, les opérations étendues, mais les usecase de base, dans les règles de l'art, sont difficiles à trouver.