Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > MVC
MVC Forum de support sur le développement d'applications de type modèle-vue-contrôleur avec Zend Framework ainsi que vos questions sur les plugins, les helpers etc. Avant de poster -> Cours MVC, FAQ ZF Controller
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/02/2012, 16h13   #1
Membre du Club
 
Inscription : mai 2006
Messages : 176
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 176
Points : 44
Points : 44
Par défaut Traitement générique sur l'ensemble des fonctions

Bonjour,
je développe une application en Flex 4.5 et PHP 5.2.6 (Zend + AMFPHP).
J'aimerais mette en place un système de sécurité : vérifier que l'on a bien une variable de session avant chaque lancement d'une fonction... Ou presque...

Par exemple, je souhaiterais que pour toutes mes fonctions de récupérations ou de modifications de données, une personne non connecté ne puisse l'utiliser.

Par contre, certaines fonctions, d'export notamment, doivent être disponibles pour certaines applications tierces, donc dans ce cas il n'y a pas besoin d'être connecté.

J'avais pensé au départ, me placer sur mon constructeur principal, et vérifier quelle fonction est appelée par quel objet, et j'aurais eu une liste de fonctions "clean" qui aurait pu être appelé sans variable de session. Seulement, je n'arrive pas à récupérer le nom de la fonction qui va être appelé. J'ai regardé avec la fonction debug_backtrace(), mais il y a un paquet d'informations remontées par Zend, et je ne suis pas sur que ce soit la meilleure solution.

Si quelqu'un à une idée de traitement, ou un autre système de sécurisation, je suis preneur.

Merci.
Marty000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 16h23   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 3 003
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 3 003
Points : 5 057
Points : 5 057
Tu pourrais aussi bien architecturer ton appli PHP avec un modèle MVC et ajouter une couche ACL pour valider les droits utilisateurs sur les différentes actions.

Voir: http://julien-pauli.developpez.com/t...telier/aclmvc/

L'article parle du Zend Framework mais la même logique est applicable ailleurs.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 16h29   #3
Membre du Club
 
Inscription : mai 2006
Messages : 176
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 176
Points : 44
Points : 44
Bonjour et merci de votre aide.

Je suis un vrai novice en Zend.

Mes utilisateurs étant enregistrés dans une table, est-ce qu'il y a un moyen de fusionner ce système avec mes utilisateurs ? Ou est ce que je devrais un rôle "utilisateur" qui aura les droits et un rôle "visiteur" qui n'aura accès qu'à certaines fonctions ?
Marty000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 16h52   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 3 003
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 3 003
Points : 5 057
Points : 5 057
Quand tu parles de Zend, tu veux dire Zend Framework ou Zend Engine ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 17h06   #5
Membre du Club
 
Inscription : mai 2006
Messages : 176
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 176
Points : 44
Points : 44
Je veux parler de Zend Framework, et son utilisation avec Flex.
Marty000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 21h18   #6
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 680
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

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

Informations forums :
Inscription : février 2011
Messages : 680
Points : 1 044
Points : 1 044
Bonjour,
Oui tu peux utiliser les Acl et surtout Zend_Auth qui te permettra de vérifier si ton utilisateur est connecter.

Tu pourras faire un plugins gérant l’authentification.
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 08h44   #7
Membre du Club
 
Inscription : mai 2006
Messages : 176
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 176
Points : 44
Points : 44
Bonjour merci,

par contre, malgré plusieurs tutoriaux, il y a toujours le problème principal qui est : comment implémenter cette vérification sur chaque fonction (ou presque) de manière générique ?

J'aimerais, grosso modo, préciser que toutes mes fonctions ont le droit "user", et seulement deux ou trois qui ont un accès "guest".

Sachant que j'utilise Zend AMF qui me retourne mes listes d'objets à mon Flex.

Merci de votre aide.
Marty000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 14h16   #8
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 680
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

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

Informations forums :
Inscription : février 2011
Messages : 680
Points : 1 044
Points : 1 044
Il te fait faire un plugin ou tu définis quel role à accès à quoi. Et ce plugin devra etre exécuter avant chaque action.
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 11h08   #9
Membre du Club
 
Inscription : mai 2006
Messages : 176
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 176
Points : 44
Points : 44
Bonjour 5h4rk,

et merci de votre aide.

Donc je suis obligé de repasser sur l'ensemble de mes fonctions ?

Dommage.

Tant pis, si quelqu'un à une dernière idée, n'hésitez pas.
Marty000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 10h16   #10
Membre actif
 
Avatar de shadypierre
 
Inscription : février 2009
Messages : 250
Détails du profil
Informations personnelles :
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : février 2009
Messages : 250
Points : 197
Points : 197
Si tu lisais la documentation...
http://framework.zend.com/manual/fr/...r.plugins.html

shadypierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h32.


 
 
 
 
Partenaires

Hébergement Web