Prieigos teisės PHP
Dažniausiai svetainėje yra ne vienas vartotojų tipas, o keli ir visi jie turi skirtingas teises. Pavyzdžiui, jūs galite turėti paprastus vartotojus ir administratorius. Administratoriai turės daugiau teisių, nei įprasti vartotojai.
Kaip tai įgyvendinama: sukursime
vartotojų lentelėje dar vieną lauką, pavadinsime
jį status ir kiekvienam vartotojui
saugosime jo statusą: tebūnie administratoriams
žodis 'admin', o paprastiems vartotojams
- žodis 'user'.
Dabar, kai vartotojas autorizuojasi, į $_SESSION['status']
įrašysime vartotojo statusą iš duomenų bazės:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
$_SESSION['status'] = $user['status']; // įrašome statusą
}
?>
Tarkime, kad dabar mūsų svetainėje yra koks nors pushlapis, prie kurio turi prieigą tik administratoriai. Padarykime taip, kad tik administratoriai matytų šio pushlapio turinį:
<?php
if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
// rodysime pushlapio turinį tik administratoriams
}
?>