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