Права доступа на PHP
Чаще всего на сайте не один тип пользователей, а несколько и все они имеют разные права. К примеру, у вас могут быть обычные пользователи и админы. Админы будут иметь больше прав, чем обычные юзеры.
Каким образом это реализуется: создадим в
таблице с юзерами еще одно поле, назовем
его status
и для каждого пользователя
будем хранить его статус: пусть для администраторов
слово 'admin'
, а для обычных пользователей
- слово 'user'
.
Теперь при авторизации пользователя в $_SESSION['status']
запишем статус пользователя из базы данных:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
$_SESSION['status'] = $user['status']; // записываем статус
}
?>
Пусть теперь у нас на сайте есть какая-то страница, к который имеют доступ только админы. Сделаем так, чтобы только админы видели контент этой страницы:
<?php
if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
// покажем контент страницы только админам
}
?>