Я разрабатываю веб-сайт, который требует нескольких типов пользователей. Я смог перенаправить типы пользователей на разные почтения на основе пользовательского рулона / типа после входа в систему. Тем не менее, мне нужно ограничить административную часть сайта только типами роли администратора. Я сохраняю «1» или «2» в базе данных на основе типа / роли пользователя. Я использую «session_start» и «session_is_registered» для проверки информации пользователя. Что мне нужно добавить к этому коду, чтобы ограничить пользователей видом роли «1» от просмотра страницы.
session_start(); if(!session_is_registered(username)){ header('Location: ../admin/index.php'); }
Сохранять роль пользователя в переменной сеанса
$_SESSION["role"]=1;
или
$_SESSION["role"]=2;
в зависимости от сохраненной информации пользователя.
Затем, когда вы проверяете разрешения, вы просто проверяете эту переменную:
if($_SESSION["role"]==2){ header('Location: ../admin/index.php'); } else { echo "you need the admin role to view this page!"; }
Еще один совет: лучше проверить разрешения в ../admin/index.php и перенаправить на страницу по умолчанию, если у пользователя нет роли администратора. В противном случае пользователи могут напрямую просмотреть ../admin/index.php, если они знают URL.
Просто вставьте инструкцию if. Если они являются администратором, направьте их на страницу администратора, иначе отправьте их в другое место.