IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Acl & Zend_Auth PHP Discussion :

Référence vers zend_auth


Sujet :

Zend_Acl & Zend_Auth PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut Référence vers zend_auth
    Bonjour.

    Je suis un tuto pour mettre en place zend_auth + zend_acl.
    Mon formulaire d'identification est en place, ainsi que la session....

    Dans mon controller Auth je gère l'authentification

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class AuthController extends Zend_Controller_Action 
    { 
    function loginAction() {
     // do the authentication 
                    $auth = Zend_Auth::getInstance();
                    $result = $auth->authenticate($authAdapter);
                    if ($result->isValid()) { .....
    }
    }
    }
    A un moment donné on me demande de faire ceci pour initialiser le plugin dans le bootstrap

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # // $auth est une référence vers Zend_Auth (getInstance())   
    $front->registerPlugin(new My_Controller_Plugin_Auth($auth, $acl)) ;
    $acl est défini comme ci-après (OK)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $acl_ini = '../application/acl.ini' ;
    $acl = new My_Acl_Ini($acl_ini) ;
    Par contre comment faire une référence vers Zend_auth pour définir $auth?

    Merci par avance.

  2. #2
    Membre expérimenté Avatar de Alshten
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 157
    Par défaut
    C'est écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    // $auth est une référence vers Zend_Auth (getInstance())
    Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $auth = Zend_Auth::getInstance();

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    Citation Envoyé par Alshten Voir le message
    C'est écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    // $auth est une référence vers Zend_Auth (getInstance())
    Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $auth = Zend_Auth::getInstance();

    J'avais tenté cela, mais ca me génère une erreur.
    j'avais donc supposé que je devais me tromper à cet endroit la.

    Catchable fatal error: Argument 1 passed to My_Controller_Plugin_Auth::__construct() must be an instance of Zend_Acl, instance of Zend_Auth given, called in C:\wamp\www\zend_auth\application\bootstrap.php on line 36 and defined in C:\wamp\www\zend_auth\library\My\Controller\Plugin\Auth.php on line 37

  4. #4
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Citation Envoyé par masseur Voir le message
    J'avais tenté cela, mais ca me génère une erreur.
    j'avais donc supposé que je devais me tromper à cet endroit la.
    Tu peux nous montrer le code de ton plugin ?
    (surtout le constructeur)

  5. #5
    Membre expérimenté Avatar de Alshten
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 157
    Par défaut
    Tu n'aurais pas tout simplement inversé l'ordre ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $front->registerPlugin(new My_Controller_Plugin_Auth($acl, $auth)) ;
    Sinon est-ce que tu peux mettre le code de ton plugin et de la class My_Acl_Ini (ou un lien vers ton tuto).

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    Citation Envoyé par Alshten Voir le message
    Tu n'aurais pas tout simplement inversé l'ordre ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $front->registerPlugin(new My_Controller_Plugin_Auth($acl, $auth)) ;
    Sinon est-ce que tu peux mettre le code de ton plugin et de la class My_Acl_Ini (ou un lien vers ton tuto).
    http://www.wowww.ch/index.php?post/2...th-et-Zend-Acl

    Pour eusebe ->

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    class My_Controller_Plugin_Auth extends Zend_Controller_Plugin_Abstract	{
    	/**
    	 * @var Zend_Auth instance 
    	 */
    	private $_auth;
     
    	/**
    	 * @var Zend_Acl instance 
    	 */
    	private $_acl;
     
    	/**
    	 * Chemin de redirection lors de l'échec d'authentification
    	 */
    	const FAIL_AUTH_MODULE     = 'default';
    	const FAIL_AUTH_ACTION     = 'index';
    	const FAIL_AUTH_CONTROLLER = 'account';
     
    	/**
    	 * Chemin de redirection lors de l'échec de contrôle des privilèges
    	 */
    	const FAIL_ACL_MODULE     = 'default';
    	const FAIL_ACL_ACTION     = 'privileges';
    	const FAIL_ACL_CONTROLLER = 'error';
     
    	/**
    	 * Constructeur
    	 */
    	public function __construct(Zend_Acl $acl)	{
        $this->_acl  = $acl ;
        $this->_auth = Zend_Auth::getInstance() ;
    	}
    EDIT : ca ressemble bien à une inversion de $acl et $auth

  7. #7
    Membre expérimenté Avatar de Alshten
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 157
    Par défaut
    Citation Envoyé par masseur Voir le message
    EDIT : ca ressemble bien à une inversion de $acl et $auth
    En fait tu n'a qu'un seul paramètre à passer (qui est $acl) vu que ton constructeur ne prend qu'un paramètre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $front->registerPlugin(new My_Controller_Plugin_Auth($acl)) ;
    Même pas besoin de faire un Zend_Auth::getInstance(); vu qu'il est déjà fait dans le contructeur.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Par défaut
    Désolé pour tous les bugs que j'avais laissé dans mon tuto sur Zend_Auth et Zend_Acl

    Effectivement, c'est pas isIdentified mais hasIdentity et deux ou trois autres problèmes que j'ai maintenant corrigé.

    J'ai publié une nouvelle version avec la gestion des modules en plus. Et j'ai également largement simplifié le plugin d'authentification.

    J'espère que tu as pu résoudre tous tes problèmes avant ma réponse...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/04/2008, 16h07
  2. [JSTL] références vers le site de sun
    Par nikalkal dans le forum Taglibs
    Réponses: 7
    Dernier message: 17/12/2007, 15h38
  3. Garder une référence vers une variable d'une autre classe
    Par choupeo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 08/12/2007, 18h30
  4. Utilisations croisés de références vers des dll
    Par Pilloutou dans le forum Framework .NET
    Réponses: 3
    Dernier message: 05/11/2006, 21h56
  5. Comment stocker une référence vers un TTreeNode ds un DFM ?
    Par phplive dans le forum Composants VCL
    Réponses: 1
    Dernier message: 19/07/2005, 12h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo