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

Как перенаправлять не авторизованного пользователя на страницу авторизации?

Имеется следующий метод:
protected function auth() {
	if(isset($_COOKIE['gotostreet'])) {
		// Тут код проверки куки
	}
        // если куки нет перенаправляет на страницу авторизации
	else header("Location: /login");
}


Проблема в том, что когда пользователь заходит на страницу авторизации Например: www.site.ru/login и не имеет кук его перенаправляет на эту же страницу и получается зацикливание. Как правильно обработать эту проверку.

Хотелось бы, чтоб для не авторизованного пользователя была доступна только страница авторизации, любые другие страницы не найдя должных кук перенаправляли бы его на страницу авторизации.

Реализую данную схему в mvc.
  • Вопрос задан
  • 3340 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 2
if(isset($_COOKIE['gotostreet']) and $_SERVER["REQUEST_URI"]!='/login') {
		// Тут код проверки куки
	}
        // если куки нет перенаправляет на страницу авторизации
	else header("Location: /login");
Ответ написан
pudz
@pudz Автор вопроса
Всем спасибо! Вопрос разрешился.

Решение:
В классе, который отвечает за отображения страницы www.site.ru/login добавил следующее:
$this->access= FALSE; // Для этой странице убираем проверку Кук
if($this->access== TRUE) {
     $this->auth(); // Данный блок будет вызываться на всех остальных страницах
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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