Bonjour, Je suis en train de démarrer un projet avec symfony 1.4 j'ai installé le plugin sfguard. Le plugin sfguard est visiblement bien installé car les tables sont générées dans la base de données et j'ai bien le formulaire de connexion (je n'ai pas chargé les fixtures). Maintenant je souhaite faire l'authentification via l'annuaire LDAP et c'est là que je suis bloqué, je pense avoir fait le tour sur google à ce sujet.
J'ai suivi les instructions marquées sur la documentation du plugin : http://www.symfony-project.org/plugins/sfDoctrineGuardPlugin dans "/apps/main/config/app.yml" j'ai le code suivant : all: sf_guard_plugin: check_password_callable: [myLDAP, checkLDAPPassword] dans "/apps/main/lib/myLDAP.class.php" : class myLDAP extends sfGuardSecurityUser { public static function checkLDAPPassword($username, $password) { $user = LDAP::getUser($username); if ($user->checkPassword($password)) { return true; } else { return false; } return true; } } Pour le moment la fonction checkLDAPPassword est celle proposé dans la documentation de sfguard mais d'après ce que j'ai compris sur d'autre site il faut utiliser une classe pour établir la liaison avec l'annuaire. J'ai repéré 2 classes "adLDAP" et "Zend_ldap", j'aurai une préférence pour Zend_ldap car je pense que pour ce projet j'aurai besoin d'autres librairies de Zend. Donc je ne sais pas trop comment modifier ma fonction checkLDAPPassword pour la faire fonctionner avec Zend_ldap. J'ai ajouté l'ensemble des librairies de Zend dans "/lib/vendor/Zend/" puis j'ai modifié le fichier "/config/ProjectConfiguration.class.php" pour activer Zend (code récupéré dans un pdf) : class ProjectConfiguration extends sfProjectConfiguration { public function setup() { $this->enablePlugins(array( 'sfDoctrinePlugin', 'sfDoctrineGuardPlugin', )); // Chargement des librairies Zend set_include_path(sfConfig::get('sf_lib_dir').'/ vendor'.PATH_SEPARATOR.get_include_path()); require_once sfConfig::get('sf_lib_dir').'/vendor/Zend/Loader/ Autoloader.php'; Zend_Loader_Autoloader::getInstance(); } } D'après quelques tests j'ai l'impression que la fonction checkLDAPPassword n'est pas utilisé car avec le code suivant je ne suis pas connecté : public static function checkLDAPPassword($username, $password) { return true; } Merci d'avance de partager votre expérience sur le sujet ! ++ -- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Symfony-fr. Pour envoyer un message à ce groupe, adressez un e-mail à [email protected]. Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse [email protected]. Pour plus d'options, consultez la page de ce groupe : http://groups.google.com/group/symfony-fr?hl=fr
