Käyttöoikeudet PHP:ssä

Useimmiten verkkosivustolla ei ole vain yhtä käyttäjätyyppiä, vaan useita, ja kaikilla on erilaiset oikeudet. Esimerkiksi sinulla voi olla tavallisia käyttäjiä ja ylläpitäjiä. Ylläpitäjillä on enemmän oikeuksia kuin tavallisilla käyttäjillä.

Miten tämä toteutetaan: luomme käyttäjät-tauluun vielä yhden kentän, nimetään se status ja jokaiselle käyttäjälle tallennamme hänen statuksensa: olkoon ylläpitäjille sana 'admin', ja tavallisille käyttäjille - sana 'user'.

Nyt kun käyttäjä autorisoidaan, kirjoitetaan $_SESSION['status']:iin käyttäjän tietokannasta haettu status:

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

Olkoon nyt sivustollamme jokin sivu, jonne vain ylläpitäjillä on pääsy. Tehdään niin, että vain ylläpitäjät näkevät tämän sivun sisällön:

html<?php
  if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
    // näytetään sivun sisältö vain ylläpitäjille
  }
?>