slam4:php:phalcon:td3b

Ceci est une ancienne révision du document !


TD n°3 - Vues et contrôleurs

Institut Universitaire de Technologie
Département Informatique - Campus III Ifs
Janvier-Février 2017

  1. Lire la section relative aux contrôleurs
  2. Lire la section relative aux vues
  3. Lire l'aide Phalcon relative au Dispatcher

Retour à l'application permettant de gérer les utilisateurs :

Implémentez les éléments ci-dessous, en créant dans un premier temps les contrôleurs, les actions, et les vues (sans implémenter leur contenu).

Contrôleur/actions LoginController
asAdminAction()
Établit une connexion d'utilisateur (instance de User mise en session) à partir du premier utilisateur de type admin trouvé dans la base de données
asUserAction()
Établit une connexion d'utilisateur (instance de User mise en session) à partir du premier utilisateur de type user trouvé dans la base de données
indexAction()
Appelle le formulaire de connexion(GET)
Soumet le formulaire de connexion et effectue la connexion à la base(POST)

Ajouter sur la page d'accueil (/Index/index) des boutons permettant d'accéder à ces trois fonctionnalités.

Librairie Auth
isAuth($session)
Retourne vrai si un utilisateur est connecté
hasRole($session,string $role)
Retourne vrai si l'utilisateur connecté possède le rôle passé en paramètre
infoUser($session)
Retourne la présentation de l'utilisateur connecté (login & email) ou l'info “non connecté” si aucun utilisateur n'est connecté

Le model Url permet le contrôle d'accès aux pages (controller/action).

Un utilisateur connecté dispose d'un rôle (user, admin ou superadmin) et pourra accéder à une page à condition que la page soit accessible pour son rôle.

Mettre en place le contrôle d'accès :

Contrôleur/actions ErrorController
show404Action()
Affiche une erreur 404 (page non trouvée)
show401Action()
Affiche une erreur 401 (non autorisé), et propose la connexion
show403Action()
Affiche une erreur 403 (Accès interdit), le rôle actuel ne permet pas d'accéder à la ressource
show500Action()
Affiche une erreur 500 (Erreur interne du serveur)
Vues views/Error/message.voltVue unique affichant les messages d'erreur dans un Message Semantic
  • slam4/php/phalcon/td3b.1487032047.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)