Задать вопрос
@Chesterfield25

Как настроить права доступа?

У меня есть функция которая распределяет права

public function checkAcl() {
		$this->acl = require 'application/acl/'.$this->route['controller'].'.php';
		if ($this->isAcl('guest')) {
			return true;
		}
		elseif (isset($_SESSION['authorize']['id']) and $this->isAcl('authorize')) {
			return true;
		}
		elseif (!isset($_SESSION['authorize']['id']) and $this->isAcl('guest authentication')) {
			return true;
		}

		elseif (isset($_SESSION['admin']) and $this->isAcl('admin')) {
			return true;
		}
		return false;
	}


Гостевая страница guest доступна всем, authorize если стартует сессия, а guest authentication наоборот если сессия не стартует. Подскажите пожалуйста как сделать гостевую страницу guest не для всех? Скажем для аутентифицированных гостей guest authentication и для авторизированных пользователей authorize страницу для гостей guest запретить.
  • Вопрос задан
  • 53 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
nefone
@nefone
Junior PHP разработчик
Проверять на странице guest, что есть сессия и делать переадресацию :
if (isset($_SESSION['authorize']['id']) {
   header('location: ...'); // вместо ... указать любую страницу, например authorize
   exit();
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы