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 :

Mise en place zend_auth + zend_acl sur serveur zend_amf [ZF 1.10]


Sujet :

Zend_Acl & Zend_Auth PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut Mise en place zend_auth + zend_acl sur serveur zend_amf
    Bonjour,

    je souhaite mettre en place une authentification ainsi qu'une autorisation sur mon serveur zend_amf (application Flex). Pas de problème dans la pratique sur le serveur amf avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $server->setAuth($auth);
    $server->setAcl($acl);
    excepté le fait que pour mon $auth il me faut un $authAdapter (qui sera un Zend_Auth_Adapter_DbTable) associé à un $adapter de base de données. Tout ca pour dire que mon appli est multi bases et que pour le moment, je me connecte à l'une de mes bases dans mes services amf donc APRES l'initialisation de mon serveur...d'où l'impossibilité sur le moment de lui fournir mon instance de base $adapter et donc de mettre en place mon autorisation avec setAuth...

    Comment remédier à cela ?

    Un grand merci à celui qui pourra me venir en aide

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Seule solution : définir mes acls et mon auth dans une classe appelée à chaque fois par mes services ?

    J'espère qu'il y a moins chiant

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 118
    Par défaut
    Bonjour,

    Je n'ai pas tout compris, par contre si tu utilises 2 bases de données dans la même application, il faut déclarer 2 adapter.

    par exemple dans ton config.ini
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    db.params.host = 192.168.1.10
    db.params.dbname = mydb
    db.params.username = root
    db.params.password =
     
    db2.params.host = 192.168.1.11
    db2.params.dbname = mydb2
    db2.params.username = root
    db2.params.password =
    Puis dans un Zend_Db_Table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // Appel de l'adapter 'db2' explicitement
    $this->getAdapter('db2')->fetchAll();

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    yep ca je sais bien sauf que a terme j'aurais peut être 50 bdd

    le problème n'est pas le nombre mais de gérer mes acl et auth au niveau de mon serveur AMF alors que je ne connais pas mon adapter sur le moment.

    Mais bon, je ferais probablement la chose suivante : si un adpater n'est pas stocké dans le registry (vérification sur mon serveur AMF) alors user = guest.

    Lors du login, je stockerai mon adapter dans le registry et je pourrais enfin y accéder par la suite sur mon serveur et utiliser setAuth et setAcl

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Et pourquoi ne pas faire une gestion de tes ACL en base de données embarqué (SQLite), cela te permettrais d'avoir une gestion assez fine tout en utilisant la puissance des db !

  6. #6
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Les ACLs ne sont pas le coeur de mon problème en fait, c'est mon authentification. Je résume différemment :

    On peut voir ca sous l'angle suivant : soit l'utilisateur est pas connecté et donc il a le rôle 'invite' et n'est pas associé à une bdd soit l'utilisateur est connecté et il a le rôle 'user', 'admin' etc avec une bdd associée...jusque là dans la théorie, pas de soucis.

    1ère phase : j'arrive sur mon serveur AMF (je rappelle que je bosse avec une appli Flex utilisant le protocole AMF) en étant non connecté donc mon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $server->setAuth($authAdapter);
    avec mon $authAdapter de ce type :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter,
                                                                            'users',
                                                                            'username',
                                                                            'password');

    ne connais pas mon $dbAdapter puisque l'invite n'est associé à aucune base...donc plantage

    Donc que faire ? Peut être que je passe à côté de quelque chose d'évident mais je vois pas

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

Discussions similaires

  1. Recherche tuto pour mise en place d'audit sur win2003.
    Par tomo0013 dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 19/03/2008, 12h08
  2. Mise en place de SSL sur plate-forme WAMP
    Par batman60 dans le forum Apache
    Réponses: 14
    Dernier message: 14/02/2008, 09h16
  3. mise en place de statistique sur client serveur
    Par king_neo2001 dans le forum Développement
    Réponses: 3
    Dernier message: 14/06/2007, 13h18
  4. Mise en place de sondage sur Access 2007
    Par Maxence HUBICHE dans le forum Sondages et Débats
    Réponses: 0
    Dernier message: 19/07/2006, 12h59

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