Piekļuves tiesības PHP

Visbiežāk vietnē ir nevis viens lietotāju veids, bet vairāki, un visiem tiem ir dažādas tiesības. Piemēram, jums var būt parastie lietotāji un administratori. Administratoriem būs vairāk tiesību nekā parastajiem lietotājiem.

Kā tas tiek realizēts: izveidosim lauku lietotāju tabulā, sauksim to par status un katram lietotājam glabāsim viņa statusu: lai administratoriem būtu vārds 'admin', bet parastajiem lietotājiem - vārds 'user'.

Tagad, lietotājam autentificējoties, $_SESSION['status'] ierakstīsim lietotāja statusu no datu bāzes:

html<?php
  if (password_verify($_POST['password'], $hash)) {
    $_SESSION['auth'] = true;
    $_SESSION['id'] = $user['id'];
    $_SESSION['status'] = $user['status']; // ierakstām statusu
  }
?>

Pieņemsim, ka mūsu vietnē ir kāda lapa, kurai piekļūt var tikai administratori. Uztaisīsim tā, lai tikai administratori redzētu šīs lapas saturu:

html<?php
  if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
    // rādīsim lapas saturu tikai administratoriem
  }
?>