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 :

Séparer partie visiteurs et admin


Sujet :

Zend_Acl & Zend_Auth PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2002
    Messages : 30
    Par défaut Séparer partie visiteurs et admin
    Bonjour,

    Je suis à mes débuts avec le Zen Framework et plus précisément avec le fonctionnement MVC.

    Je souhaiterai savoir comment séparer la partie administration du site de la partie visiteurs.

    Par exemple pour la gestion de news, il est mieux de :
    - Créer un controller news avec un lien vers la vue pour les users et les liens vers édition pour les admins.
    - Créer un controleur admin qui réuni toutes les possibilités d'administration du site.
    - Créer un sous-dossier admin qui reprend la strucutre complète du Zend_Framework (faire un sous-site).
    - autre idée...

    Merci de m'orienter afin de ne pas faire quelque chose qui sera compliqué à maintenir.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par cinezone
    Bonjour,

    Je suis à mes débuts avec le Zen Framework et plus précisément avec le fonctionnement MVC.

    Je souhaiterai savoir comment séparer la partie administration du site de la partie visiteurs.

    Par exemple pour la gestion de news, il est mieux de :
    - Créer un controller news avec un lien vers la vue pour les users et les liens vers édition pour les admins.
    - Créer un controleur admin qui réuni toutes les possibilités d'administration du site.
    - Créer un sous-dossier admin qui reprend la strucutre complète du Zend_Framework (faire un sous-site).
    - autre idée...

    Merci de m'orienter afin de ne pas faire quelque chose qui sera compliqué à maintenir.
    Je crois que le Zend Framework propose une classe dénomée "Zend ACL" qui permet d'octroyer des rôles et des privilèges d'accès aux ressources, ça doit être approprié à ton problème.

    ...J'ai découvert ZF cette semaine grâce à un Webinar , donc le topic m'intéresse !!!

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2002
    Messages : 30
    Par défaut
    Zend ACL permet en effet de gérer les rôles mais ça ne correspond pas vraiment à mon problème.

    Pour mes sites précédents, j'avais un dossier "site" qui contenait toute la partie que les utilisateurs pouvaient utiliser (voir news, recherche news...) et un dossier "admin" réservé aux admins dans lequel j'avais uniquement des pages pour gérer les bases de données et le reste du site (ajouter, supprimer, modifier news).

    Maintenant que j'utilise Zend je voudrai savoir quelle est la meilleur solution pour "refaire" ce système.

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Zend_Auth répond-il à ta problématique ?
    http://r-benyacoub.developpez.com/tu...ork/zend-auth/

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2002
    Messages : 30
    Par défaut
    Oui car en effet je vais pouvoir gérer qui pourra faire quoi et non car je ne vois toujours pas comment organiser le système.

    En suivant l'exemple du tuto, est-ce mieux de faire un controller appelé AdminController qui contiendra les méthodes "Ajouter, Modifier, Supprimer" + un controller Album qui contiendra "voir, recherche" ou faire comme dans l'exemple et limiter l'accès uniquement aux méthodes d'édition ?

    Si je fais comme dans l'exemple, comment limiter uniquement certaines actions étant donné que "preDispatch()" limite l'accès à tout le controller.

    Désolé de ne pas voir aussi clair que vous, c'est vraiment une autre manière de travailler par rapport au php "de base".

  6. #6
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Oui, les débuts se font toujours à tâtons...
    Ce que je te recommande est d'essayer les deux méthodes et de voir la différence par toi-même. On retient mieux en agissant ainsi

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2002
    Messages : 30
    Par défaut
    Dans la continuité du sujet, est-ce que la rapidité d'execution sera plus lente avec un controller qui contient 50 méthodes qu'avec plusieurs controllers qui en contiennent 4-5 ?

  8. #8
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Tu penses sincèrement que l'impact sur les performances est un critère de choix ?

    L'utilisation d'un framework suppose l'adoption d'une méthodologie. Si tu commences à faire tes choix en fonction des performances, tu sors du cadre imposé par le framework, et donc ton code n'est plus standard (selon les critères de ce framework), ce qui limite l'intérêt d'utiliser ce framework.

    De plus, les performances ne peuvent pas être dramatiques à moins d'avoir plusieurs dizaines d'utilisateurs simultanés. C'est seulement à cette condition que tu verras un impact sur les performances.

  9. #9
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Par défaut
    Personnellement je fais 2 truc séparé genre http://www.monsite.com/ et pour l'admin http://www.monsite.com/admin/ avec un appli totalement séparée.
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2002
    Messages : 30
    Par défaut
    J'ai regardé un peu et il me semble que le mieux est d'utiliser plusieurs répertoires. Pour le moment je travaille comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $frontController->setControllerDirectory(array(
    'default'	=> './application/controllers',
    'admin'		=> './modules/admin/controllers'
    ));
    Je fais alors comme toi en pensant comme si c'était 2 sites distincts.

  11. #11
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Citation Envoyé par cinezone
    Je fais alors comme toi en pensant comme si c'était 2 sites distincts.
    C'est exactement l'idée : le front end et le back end sont deux sites distincts du même projet.

  12. #12
    Membre très actif
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Par défaut
    bonjour
    comment fait ensuite pour acceder à admin ?
    Merci

  13. #13
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Citation Envoyé par SQUAL
    bonjour
    comment fait ensuite pour acceder à admin ?
    Merci
    D'après le tuto :
    Vous pouvez voir le résultat sur http://localhost/zf-tutorial/auth/login.

  14. #14
    Membre très actif
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Par défaut
    Yogui ->
    Meme en ayant edité ton post, je n'ai toujours pas compris. Je ne comprends pas comment acceder par un lien à la partie admin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $frontController->setControllerDirectory(array(
        'default' => './defaut/controllers',
        'admin' => './admin/controllers'));
    Meme dans la doc officel, il n'est pas expliqué ou alors c'est moi qui n'ai pas compris le principe.

  15. #15
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Lorsque tu dis "accéder", je comprends "charger dans le navigateur". Ai-je faux ?

  16. #16
    Membre très actif
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Par défaut
    Oui oui dans le navigateur avec la barre d'adresse

  17. #17
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Il te reste donc à me dire ce qui ne va pas en utilisant le lien proposé par le tutoriel

  18. #18
    Membre très actif
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Par défaut
    En quoi ce lien peu til m'aider ? Je n'arrive pas à te suivre en fait.

    J'ai un dossier default pour le site et un dossier admin.

    J'ai donc 2 dossier controlleur chacun dans leur dossier respectif default et admin.

    Je renseigne ca dans mon fichier bootstrap
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $frontController->setControllerDirectory(array(
        'default' => './default/controllers',
        'admin' => './admin/controllers'));
    A partir de là, le site marche bien j'accede normalement au controlleur par defaut "default", maintenant comment acceder au 2e controlleur "admin" ?

    C'est peut etre evident pour vous mais là moi je crois que j'ai loupé quelque chose et je n'avance pas.

  19. #19
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Qui es-tu, en fait ? SQUAL, cinezone ou les deux ?

    Pour te répondre, j'ai proposé plus haut un article qui, si tu le suis, te donne accès à la partie admin depuis l'URL que je t'ai indiqué également plus haut.
    Je ne sais pas que te dire de plus... Si tu suis un tuto, essaie de le suivre jusqu'au bout sinon tu t'exposes à ne rien avoir appris

    Les tutoriels que nous publions sont testés et fonctionnent. Si cela ne fonctionne pas chez toi, c'est généralement dû à un problème de ta machine. Il nous faut davantage d'informations que "marche pa :/" pour pouvoir t'aider.

  20. #20
    Membre très actif
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Par défaut
    Est ce que tu parles de ce TUTO ?
    http://r-benyacoub.developpez.com/tu...ork/zend-auth/

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. intégration d'une partie de django-admin
    Par cboudy dans le forum Django
    Réponses: 2
    Dernier message: 20/11/2009, 13h54
  2. Réponses: 4
    Dernier message: 03/08/2007, 09h32
  3. [SQL] Comment être averti du coté admin d'une erreur du coté visiteur
    Par JackBeauregard dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 10/11/2006, 20h29
  4. Réponses: 3
    Dernier message: 13/11/2005, 15h04

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