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

MVC PHP Discussion :

Bloquer l'accès à toutes les actions par URL


Sujet :

MVC PHP

  1. #1
    Nouveau membre du Club
    Bloquer l'accès à toutes les actions par URL
    Bonjour,

    J'utilise ZF1 pour développer une application simple.

    - Les utilisateurs authentifiés via un formulaire et Zend_Auth peuvent accéder aux différente actions des contrôleurs (et les views bien sûr).
    - Les utilisateurs non authentifiés ne peuvent accéder à aucune actions même via l'URL du navigateur.

    Mon code pour l'authentification fonctionne correctement en utilisant Zend_Auth mais le problème est qu'un utilisateur non authentifié peut accéder à l'application en tapant son adresse directement dans le navigateur.

    Comment empêcher ça ? Est-ce que je dois utiliser Zend_Acl et Zend_Session pour résoudre ce problème ?

    Merci.

  2. #2
    Membre éprouvé
    Zend_Acl fera l'affaire
    A la recherche d'un film : http://chercher-un-film.com

  3. #3
    Expert éminent
    Citation Envoyé par Age_of_Aquarius Voir le message
    Comment empêcher ça ? Est-ce que je dois utiliser Zend_Acl et Zend_Session pour résoudre ce problème ?
    Zend_Acl aurait un intérêt si certaines ressources restaient accessibles aux utilisateurs non authentifiés. Là, le fonctionnement est binaire: authentifié->accès complet, non authentifié->aucun accès.

    Personnellement, je gèrerais ça dans un plugin de contrôleur (dans une méthode dispatchLoopStartup). Tu testes si Zend_Auth renvoie une identité (Zend_Auth::getInstance()->hasIdentity()) et tu reroutes sur le formulaire d'authentification si ce n'est pas le cas.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi