Intégrer votre application d'authentification au framework Laravel. Vous pouvez vous baser au choix :
Noter que le but de ce TP est d'obtenir une application fonctionnelle mais qui ne respectera pas encore le découpage MVC.
Les TPs suivants permettront de séparer progressivement les parties Modèle, Vue et Contrôleur en utilisant à bon escient les fonctionnalités offertes par Laravel.
Suivez les indications donnés dans LARAVEL-installation.md.
Attention : composer n'est installé que sur webetu, pas sur troglo.
Copiez les fichiers suivants du TP4 dans resources/views/ :
adduser.phpauthenticate.phpchangepassword.phpdeleteuser.phpformpassword.phpsignin.phpsignout.phpsignup.phpwelcome.phpDans routes/web.php :
Route::view)signin.phproutes/web.phpDans chaque fichier remplacer toutes les références à des fichiers PHP par des références à des routes.
Dans le fichier app/Http/Kernel.php, commenter les lignes qui font référence au middleware VerifyCsrfToken.
Dans le fichier .env, modifiez les champs DB_HOST, DB_DATABASE, DB_USERNAME et DB_PASSWORD avec les informations de l'ancien fichier bdd.php.
Copier le fichier models/User.php du TP4 dans le répertoire app/ de votre application et le renommer MyUser.php. Attention, ne pas écraser le fichier User.php existant déjà dans ce répertoire.
Dans MyUser.php :
AppUser::USER_TABLE par MyUser::USER_TABLEMyPDO::pdo() par DB::connection()->getPdo()ajouter en entête les deux use suivants :
use Illuminate\Support\Facades\DB;
use PDO;
Dans chacun des fichiers adduser.php, authenticate.php, changepassword.php, deleteuser.php et signout.php :
require_once('models/User'); par des use App\MyUser;new User par des new MyUserÀ ce stade, l'application devrait être entièrement fonctionnelle. Solutionner les problèmes avant de passer à la suite.
Supprimer toutes les vérifications de REQUEST_METHOD : c'est maintenant le routage qui le gère.
Supprimer tous les session_start() de tous vos fichiers.
Dans routes/web.php, mettre toutes les routes dans un groupe. Dans la fonction qui contient maintenant toutes les routes, ajouter en première instruction un session_start().
Dans routes/web.php, remplacer l'appel à la vue signout par le code du fichier signout.php et modifier l'appel à header() par un appel à la méthode redirect() de Laravel. Supprimer signout.php.
Dans le même esprit que la question précédente, déplacer le code de vérification de connexion situé au début des fichiers changepassword.php, deleteuser.php, formpassword.php et welcome.php dans les fonctions de routage correspondantes. Remplacer les appels à header() par des appels à la méthode redirect() de Laravel.
Dans routes/web.php, placer les routes de la question précédente (+ la route signout) dans un groupe préfixé par admin. Ajouter admin/ à ces routes dans tous les header() de tous vos fichiers de vues.
Vérifier que tout fonctionne.