TD n°6 - ACL - Formulaires...
Institut Universitaire de Technologie
Département Informatique - Campus III Ifs
Janvier-Février 2015
-- Pré-requis
-- Installation
- Clonez le projet invo depuis GitHub : https://github.com/jcheron/invo.git et incorporez le à votre IDE
- Créez la base de données INVO et exécutez le script schemas/invo.sql sur votre serveur Mysql
-- Lecture
- Lire la documentation relative au Projet INVO
-- Tests/ corrections de Bugs
Tests :
- Afficher les quelques pages en étant non connecté
- Se connecter à l'application
- Afficher les différentes pages
Bugs à corriger :
-- Erreur relative aux ACLs
En étant non connecté :
- L'accès à une URL privée (par exemple producttypes/index)affiche une page blanche (erreur 404)
⇒La page affichée devrait être errors/show401
Attention, l'erreur est double
-- Erreur PHP
En étant connecté :
- sur affichage de l'URL : /products/index
Fatal error: Class 'Phalcon\Validation\Validator\Numericality' not found in C:\xampp\htdocs\invo\invo\app\forms\ProductsForm.php on line 53
-- Modifications
-- Pages d'erreur
Modifier le contrôleur errors pour qu'il affiche, en plus des vues associées (voir le dossier views/errors) les messages :
- Erreur 404 : Message d'erreur “La page demandée {$url} n'existe pas” : Erreur 404
- Erreur 401 : Message d'erreur : “Une authentification est nécessaire pour accéder à la ressource”
- Erreur 500 : Message d'erreur : “Nous sommes désolés, le serveur à rencontré un problème rendant l'accès à la page momentanément impossible.” sur la page index/index
-- Gestion des utilisateurs
-- Nouvelle ressource
- Ajouter la nouvelle ressource users,permettant de gérer les utilisateurs, et définie de la façon suivante :
'users' => array('index', 'search', 'new', 'edit', 'save', 'create', 'delete')
- Créer le rôle Admin : l'admin aura accès à toutes les ressources, les users a tout sauf à la ressource users.
-- Modification du model Users
- Modifier le table users en ajoutant le champ role (varchar) dans la base de données. Le rôle pourra être admin ou users (pour l'instant).
- Modifier le model users en conséquence.
-- Contrôleur
- Créer le contrôleur users, et les actions mentionnées dans les ACL.
- index
- search
- new
- edit
- save
- create
-- Form et vues
- Créer le formulaire FormUser permettant de modifier/ajouter un utilisateur
- Créer les vues correspondant aux actions du contrôleur
-- Sécurité
Modifier le plugin SecurityPlugin pour qu'il prenne en compte les modifications sur les droits.
-- Gestion des ACL via BDD
Intégrer le module Phalcon\Acl\Adapter dans votre projet.