Droits d'accès en PHP
Le plus souvent, un site web n'a pas un seul type d'utilisateurs, mais plusieurs, et ils ont tous des droits différents. Par exemple, vous pouvez avoir des utilisateurs ordinaires et des administrateurs. Les administrateurs auront plus de droits que les utilisateurs ordinaires.
Comment cela est-il mis en œuvre : créons un champ supplémentaire dans
la table des utilisateurs, appelons-le
status et pour chaque utilisateur
nous stockerons son statut : disons 'admin' pour les administrateurs
et 'user' pour les utilisateurs ordinaires.
Maintenant, lors de l'autorisation de l'utilisateur, enregistrons dans $_SESSION['status']
le statut de l'utilisateur provenant de la base de données :
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
$_SESSION['status'] = $user['status']; // enregistrons le statut
}
?>
Supposons maintenant que nous ayons une page sur le site à laquelle seuls les administrateurs ont accès. Faisons en sorte que seuls les administrateurs voient le contenu de cette page :
<?php
if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
// affichons le contenu de la page seulement aux administrateurs
}
?>