====== CodeIgniter Shield ======
===== Définition =====
Shield est le framework officiel d'authentification et d'autorisation pour CodeIgniter 4. Bien qu'il fournisse un ensemble de base d'outils couramment utilisés sur les sites Web, il est conçu pour être flexible et facilement personnalisable.
https://shield.codeigniter.com/
===== Installation =====
==== 1. Prérequis ====
Pour installer CodeIgniter Shield il faut d'abord avoir installé CodeIgniter 4 sur le projet.
==== 2. Installer CodeIgniter Shield ====
Pour installer CodeIgniter Shield, on dois utiliser Composer.
Il faut ouvrir le terminal et naviguer vers le dossier du projet CodeIgniter, puis exécuter la commande suivante :
composer require codeigniter4/shield
Cette commande va télécharger et installer la dernière version de CodeIgniter Shield et ses dépendances.
==== 3. Configurer Shield ====
Une fois installé, on doit activer et configurer Shield. Pour cela, il faut publier les fichiers de configuration dans le projet :
php spark init
Cela va copier les fichiers nécessaires dans le dossier ''app/Config'' du projet. Ces fichiers de configuration permettent de personnaliser le comportement de Shield, comme la gestion des sessions ou des règles d'authentification.
==== 4. Mettre en place les tables de base de données ====
CodeIgniter Shield nécessite quelques tables dans la base de données pour gérer les utilisateurs et leurs rôles. On peut créer ces tables en exécutant les migrations suivantes :
php spark migrate
Cela va créer les tables nécessaires (comme ''users'', ''roles'', etc.) dans la base de données.
===== Configuration élémentaire =====
==== 1. Configurer les routes ====
On peut configurer les routes pour l'authentification. Dans le fichier ''app/Config/Routes.php'', on peut ajouter les routes nécessaires pour les actions d'authentification, comme la connexion et l'inscription :
$routes->group('auth', function($routes) {
$routes->get('login', 'AuthController::login');
$routes->post('login', 'AuthController::loginAction');
$routes->get('register', 'AuthController::register');
$routes->post('register', 'AuthController::registerAction');
});
==== 2. Créer un contrôleur pour l'authentification ====
Il faut créer un contrôleur qui gérera les actions de connexion, d'inscription, etc. Par exemple, dans ''app/Controllers/AuthController.php'', on peut créer des méthodes pour gérer ces actions.
===== Cloisonner les espaces =====