Bonjour,
je me suis mis à Flex récemment et j'ai interfacé mon appli avec Zend_Amf afin de récupérer des données par php. J'ai bien réussi à effectuer cette connexion
J'essaie maintenant de mettre en place un système de gestion d'authentification/autorisation avec Zend_Auth et Zend_Acl et j'ai également réussi. Je fais le test dans chaque fonction de ma classe associée à service avec la méthode if($acl->isAllowed...)
Par contre j'ai un problème qui est le suivant (rien à voir avec flex ou Zend) : je cherche à créer une seule instruction qui vérifie les droits et non incorporer une instruction dans chaque méthode. J'ai pensé utiliser la méthode magique __call mais celle ci ne semble pas vouloir s'exécuter automatiquement avant l'appel de ma fonction à la différence de __contruct() .
Un exemple pour illustrer
Code php : 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 class ServiceClasse { private $_validAuth = false; public function __construct() { $this->_validAuth = true; } public function __call($methode, $arguments) { //$this->_validAuth = true; } // Me retourne 'state3' public function getState() { if ($this->_validAuth == true) return 'state3'; return 'state2'; } }
Code php : 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 class ServiceClasse { private $_validAuth = false; public function __construct() { //$this->_validAuth = true; } public function __call($methode, $arguments) { $this->_validAuth = true; } // Me retourne 'state2' public function getState() { if ($this->_validAuth == true) return 'state3'; return 'state2'; } }
je croyais que __call était lancé avant un appel de fonction mais apparemment non...?
Merci
Partager