Berechtigungen in PHP
Meistens gibt es auf einer Website nicht nur einen Benutzertyp, sondern mehrere, und alle haben unterschiedliche Berechtigungen. Zum Beispiel könnte es normale Benutzer und Administratoren geben. Administratoren werden mehr Rechte haben als normale Benutzer.
Wie wird das implementiert: Wir erstellen in der
Tabelle mit den Benutzern ein weiteres Feld, nennen wir es
status, und für jeden Benutzer
speichern wir seinen Status: Für Administratoren sei es
das Wort 'admin', und für normale Benutzer
- das Wort 'user'.
Jetzt schreiben wir bei der Autorisierung des Benutzers in $_SESSION['status']
den Status des Benutzers aus der Datenbank:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
$_SESSION['status'] = $user['status']; // Status speichern
}
?>
Nehmen wir nun an, es gibt eine Seite auf unserer Website, auf die nur Administratoren Zugriff haben. Sorgen wir dafür, dass nur Administratoren den Inhalt dieser Seite sehen:
<?php
if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
// Inhalt der Seite nur Administratoren anzeigen
}
?>