Campagnes de tests Yacs Lasares RC3

Bonjour, J'essaye d'utiliser l'autentification par ldap mais cela ne ne ... [Integrated]

Progress100%
WorkflowSupport request
StatusSolution has been fully integrated

Bonjour,

J'essaye d'utiliser l'autentification par ldap mais cela ne ne fonctionne pas.  J'ai une erreur unknow authentication ldap...

J'utilise centos 6.3 default install (httpd 2.2.15, php 5.3.3, mysql 5.1.66).  C'est une nouvelle installation et mon setup pour ldap est:  $context['users_authenticator']='ldap 192.168.1.1 %u %p';

En trifouillant, il me dit qu'il ne connais pas la class ldap:

Strict Standards: Non-static method Authenticator::bind() should not be called statically in /var/www/yacs/users/users.php on line 1288 Fatal error: Class 'ldap' not found in /var/www/yacs/users/authenticator.php on line 84

Merci,

Eric.

Alexis Raimbault
on Jan. 2 2013 at 10:46 am GMT
La solution a été intégrée

Alexis Raimbault
on Jan. 1 2013 at 10:54 am GMT

Merci, Bonne année également !

Bonne idée de conditionner l'affichage d'un retour d'erreur de connexion sur le mode développement du serveur.

Une correction de ces erreurs sera intégrée rapidement, et ce fera avec la chaine '_authenticator' car les autres classes correspondant aux autres moyens d'authentification externalisée sont construites ainsi (et donc en erreur avec le codage actuel)




Alexis Raimbault webmaster free-lance
Eric Laurent
on Jan. 1 2013 at 01:03 am GMT
Merci Alexis.

J'ai fait la modif 'public static' dans user/authenticator.php. J'ai aussi copié authenticators/ldap.php pour en faire un nouveau fichier et une nouvelle classe 'ldape' et c'est ok! Pour info, j'utilise 389-DS.

Par contre, j'ai modifié le résultat en cas d'erreur car en mode production je ne veux pas donner d'information sur les raisons de l'échec de l'authentification.

Bonne Année !
Eric.

Alexis Raimbault
on Dec. 31 2012 at 01:16 pm GMT
Bonjour Eric, merci pour ce retour.

pour le warning il faudra ajouter 'public static' devant la déclaration de la fonction bind dans users/authenticator.php

Pour l'erreur fatale, elle s'explique : bind recherche une classe ldap (selon le paramètre fourni par $context) dans un fichier /users/authenticators/ldap.php
le fichier existe bien, mais le nom de classe est Ldap_Authenticator

Il faudra donc modifier le code de authenticator::bind pour ajouter '_Authenticator' au nom de classe recherché. Le plus propre serait d'avoir une constante en tête de fichier.

Voilà pour ma part je n'ai pas eu l'occasion d'utiliser cette fonction, Bernard nous en dira plus.

Je pourrais fournir un patch à partir du 2 janv.


Alexis Raimbault webmaster free-lance
Alexis Raimbault
on Dec. 31 2012 at 09:23 am GMT
La situation est sous contrôle