Uprawnienia dostępu w PHP
Najczęściej na stronie nie ma jednego typu użytkowników, a kilku i wszyscy mają różne uprawnienia. Na przykład, możesz mieć zwykłych użytkowników i administratorów. Administratorzy będą mieli więcej uprawnień, niż zwykli użytkownicy.
W jaki sposób to się implementuje: stworzymy w
tabeli z użytkownikami jeszcze jedno pole, nazwiemy
je status i dla każdego użytkownika
będziemy przechowywać jego status: niech dla administratorów
słowo 'admin', a dla zwykłych użytkowników
- słowo 'user'.
Teraz przy autoryzacji użytkownika w $_SESSION['status']
zapisujemy status użytkownika z bazy danych:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
$_SESSION['status'] = $user['status']; // zapisujemy status
}
?>
Załóżmy teraz, że na naszej stronie jest jakaś strona, do której dostęp mają tylko administratorzy. Zróbmy tak, aby tylko administratorzy widzieli treść tej strony:
<?php
if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
// pokażemy treść strony tylko administratorom
}
?>