Table des matières

TD n°6 - ACL - Formulaires...

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

-- Pré-requis



-- Installation

  1. Clonez le projet invo depuis GitHub : https://github.com/jcheron/invo.git et incorporez le à votre IDE
  2. Créez la base de données INVO et exécutez le script schemas/invo.sql sur votre serveur Mysql

-- Lecture

  1. Lire la documentation relative au Projet INVO

-- Tests/ corrections de Bugs

Tests :

  1. Afficher les quelques pages en étant non connecté
  2. Se connecter à l'application
  3. Afficher les différentes pages

Bugs à corriger :

-- Erreur relative aux ACLs

En étant non connecté :

⇒La page affichée devrait être errors/show401

Attention, l'erreur est double

-- Erreur PHP

En étant connecté :

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 :

-- Gestion des utilisateurs

-- Nouvelle ressource

  1. 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')
  2. 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

  1. 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).
  2. Modifier le model users en conséquence.

-- Contrôleur

  1. Créer le contrôleur users, et les actions mentionnées dans les ACL.
    1. index
    2. search
    3. new
    4. edit
    5. save
    6. create

-- Form et vues

  1. Créer le formulaire FormUser permettant de modifier/ajouter un utilisateur
  2. 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.