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


Répondre à