Après le test suivant :
j'ai désactivé la sécurité sur le fichier "/main/config/
security.yml" :
default:
is_secure: false
j'ai créé un module home chargé par défaut via le routing et dans
l'action j'ai le code suivant :
class homeActions extends sfActions
{
public function executeIndex(sfWebRequest $request)
{
myLDAP::checkLDAPPassword('test', 'test');
}
}
j'obtiens l'erreur suivante :
Fatal error: Class 'myLDAP' not found in ..\monprojet\apps\main\modules
\home\actions\actions.class.php
visiblement la classe myLDAP n'est pas chargé pourtant tout est nommé
correctement il me semble.
Les classes ne sont elles pas chargées automatiquement ?
/monprojet/apps/main/lib/myLDAP.class.php (class myLDAP extends
sfGuardSecurityUser)
++
On 29 déc, 09:52, eddie <[email protected]> wrote:
> Re,
>
> Bon j'ai du neuf. Je viens de charger des fixtures pour le plugin
> sfguard et quand je me connecte avec un user qui existe dans la table
> sf_guard_user j'obtiens l'erreur suivante :
>
> Warning: call_user_func_array() [function.call-user-func-array]: First
> argument is expected to be a valid callback,
> 'myLDAP::checkLDAPPassword' was given in ..\monprojet\plugins
> \sfDoctrineGuardPlugin\lib\model\doctrine\PluginsfGuardUser.class.php
> on line 79
>
> C'est quand même bizarre que l'utilisateur doit exister dans la base
> de données pour lancer la fonction checkLDAPPassword non ?
>
> Par contre même avec la fonction suivante j'obtiens la même erreur :
>
> public static function checkLDAPPassword($username, $password)
> {
> return true;
> }
>
> ++
>
> On 28 déc, 16:07, eddie <[email protected]> wrote:
>
> > 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