Ceci est une ancienne révision du document !
Table des matières
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.
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 shield:publish
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
5. 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 :
<color #ffc90e>$routes</color>->group('auth', function($routes) {
<color #ffc90e>$routes</color>->get('login', 'AuthController::login');
<color #ffc90e>$routes</color>->post('login', 'AuthController::loginAction');
<color #ffc90e>$routes</color>->get('register', 'AuthController::register');
<color #ffc90e> $routes</color>->post('register', 'AuthController::registerAction');
});
