Права доступа на PHP

Чаще всего на сайте не один тип пользователей, а несколько и все они имеют разные права. К примеру, у вас могут быть обычные пользователи и админы. Админы будут иметь больше прав, чем обычные юзеры.

Каким образом это реализуется: создадим в таблице с юзерами еще одно поле, назовем его status и для каждого пользователя будем хранить его статус: пусть для администраторов слово 'admin', а для обычных пользователей - слово 'user'.

Теперь при авторизации пользователя в $_SESSION['status'] запишем статус пользователя из базы данных:

html<?php
  if (password_verify($_POST['password'], $hash)) {
    $_SESSION['auth'] = true;
    $_SESSION['id'] = $user['id'];
    $_SESSION['status'] = $user['status']; // записываем статус
  }
?>

Пусть теперь у нас на сайте есть какая-то страница, к который имеют доступ только админы. Сделаем так, чтобы только админы видели контент этой страницы:

html<?php
  if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
    // покажем контент страницы только админам
  }
?>