Intégrer l'application d'authentification au framework Laravel. Vous pouvez vous baser au choix :
Notez 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ées dans LARAVEL-installation.md.
Attention : composer n'est installé que sur webetu, pas sur troglo.
Copier 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, modifier 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 de tous vos fichiers : 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 le routes de ce groupe, 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 remplacer l'appel à header() par un appel à la méthode redirect() de Laravel. Supprimer signout.php.
Dans routes/web.php, placer les routes changepassword, deleteuser, formpassword, welcome.php et signout dans un groupe préfixé par admin. Ajouter admin/ à ces routes dans tous les header() de tous vos fichiers de vues.
Ajouter au début de la fonction du groupe admin la vérification de l'existence de la variable de session user. Si elle n'existe pas, faire une redirection vers signin en utilisant redirect de Laravel.
Vérifier que tout fonctionne.