Práva prístupu v PHP

Najčastejšie na stránke nie je jeden typ používateľov, ale niekoľko a všetci majú rôzne práva. Napríklad, môžete mať bežných používateľov a adminov. Admini budú mať viac práv ako bežní používatelia.

Ako sa to implementuje: vytvoríme v tabuľke s používateľmi ešte jedno pole, nazveme ho status a pre každého používateľa budeme ukladať jeho status: nech pre administrátorov slovo 'admin', a pre bežných používateľov - slovo 'user'.

Teraz pri autorizácii používateľa do $_SESSION['status'] zapíšeme status používateľa z databázy:

html<?php
  if (password_verify($_POST['password'], $hash)) {
    $_SESSION['auth'] = true;
    $_SESSION['id'] = $user['id'];
    $_SESSION['status'] = $user['status']; // zapíšeme status
  }
?>

Nech teraz máme na stránke nejakú stránku, ku ktorej majú prístup len admini. Urobme tak, aby len admini videli obsah tejto stránky:

html<?php
  if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
    // zobrazíme obsah stránky len adminom
  }
?>