Õigused PHP-s
Sageli pole saidil mitte üht tüüpi kasutajaid, vaid mitu ja kõigil neist on erinevad õigused. Näiteks võivad teil olla tavalised kasutajad ja adminid. Adminidel on rohkem õigusi kui tavalistel kasutajatel.
Kuidas seda rakendatakse: loome
kasutajate tabelisse veel ühe välja, nimetame
selle status ja iga kasutaja jaoks
salvestame tema staatuse: olgu administraatorite jaoks
sõna 'admin', aga tavaliste kasutajate jaoks
- sõna 'user'.
Nüüd kasutaja autentimisel kirjutame $_SESSION['status']
kasutaja staatuse andmebaasist:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
$_SESSION['status'] = $user['status']; // salvestame staatuse
}
?>
Oletame nüüd, et meie saidil on mingi leht, millele on juurdepääs ainult adminidel. Teeme nii, et ainult adminid näevad selle lehe sisu:
<?php
if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
// näitame lehe sisu ainult adminidele
}
?>