Данные сеанса должны содержать «состояние» (т. Е. Вошел или не вошел в систему) пользователя, но не конкретные данные, например роль пользователя.
Таким образом, после аутентификации пользователя вы можете искать информацию о пользователе в базе данных. Если у этого пользователя есть требуемая роль, загрузите страницу; если нет, то не надо.
Чего не следует делать, так это войти в систему пользователя, создать сеанс для этого пользователя, а также сохранить в этом сеансе роль. Если вы сделаете это таким образом, вы потенциально оставите свой сайт уязвимым для лазеек (особенно на виртуальном хостинге). Кроме того, что, если роль пользователя изменяется в течение времени жизни сеанса? Либо вы просите пользователя снова войти в систему, либо изменение роли фактически не «регистрируется» до тех пор, пока сеанс не будет уничтожен (что может быть долгим, в зависимости от конфигурации).