Петля перенаправления KohanaPHP - PullRequest
0 голосов
/ 01 апреля 2010

У меня проблема. Я создаю приложение с фреймворком KohanaPHP и получаю бесконечный цикл перенаправления.

Вот код, который я вставил в конструктор моего основного контроллера:

   if(empty($this->user->real_name)) {
    url::redirect('/');
   }

Есть идеи, как решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 09 апреля 2010

Вы, вероятно, хотите сделать что-то подобное

$current_url = $_SERVER['REQUEST_URI'];

if ($current_url != '' || $current_url != '/') {
 if(empty($this->user->real_name)) {
    url::redirect('/');
   }
}

, чтобы он перенаправлял на домашнюю страницу, только если вы еще не находитесь на домашней странице (код заметки не проверен)

0 голосов
/ 01 апреля 2010

Один из способов решить эту проблему - если вы проверяете вход в систему - это создать собственный базовый класс, который будут использовать все контроллеры, для которого требуется аутентифицированный пользователь. Этот базовый класс будет перенаправлять пользователя на контроллер аутентификации, если они не аутентифицированы. Контроллер аутентификации будет не наследоваться от базового класса, что предотвращает бесконечный цикл перенаправления.

Я использовал эту схему для реализации аутентификации в CodeIgniter, и хотя CI отличается от Kohana, они достаточно близки, чтобы она работала и для вас.

...