Par Valentin Brosseau / @c4software
Database et un modèle Idea (les données et le SQL).Aujourd'hui : qui a le droit de faire quoi ?
Rien de neuf depuis le TP 5. Ce qui change, c'est où ce code va vivre.
Ce code de vérification, on le met où ?
Dans pages/connexion.php ?
Authindex.php, le header, l'admin.Auth sait qui est connecté.Auth::attempt($email, $password); // bool
Auth::check(); // boolDes méthodes statiques : il n'y a qu'une session par visiteur, rien à instancier.
attempt, check, logout : ce sont les noms que vous croiserez partout.
Bien nommer une méthode, c'est déjà la documenter.
Question : que stocke-t-on dans la colonne mot_de_passe ?
password_hash().password_verify().== entre deux hashs : le sel change à chaque fois.Le détail est dans le TP sur l'authentification.
session_regenerate_id(true);Au moment où le visiteur devient « connecté », on lui donne un nouvel identifiant de session.
Une ligne, et la fixation de session ne fonctionne plus.
if (Auth::check()) {
$whitelist = ['home', 'proposer', 'idee', 'admin', 'deconnexion'];
} else {
$whitelist = ['home', 'proposer', 'idee', 'connexion'];
}Une page absente de la liste n'est même pas chargée.
index.php.Auth regroupe tout ce que l'application sait de la connexion.Place au TP 🚀