Авторизация пользователя в приложении KohanaPHP против Endless Loop - PullRequest
0 голосов
/ 21 ноября 2010

Хотите знать, как назвать этот вопрос. Думаю, это лучшая возможная ситуация.

Положение: Я получил небольшое приложение, написанное в рамках KohanaPHP. Однако есть одна маленькая ошибка, которая сводит меня с ума.

Я получил свой собственный Core_Controller, который расширяется каждым контроллером в этом приложении. В конструкторе этого контроллера я проверяю статус профиля пользователя. Все идет нормально. Хотя я сталкиваюсь с логической проблемой. Это называется бесконечный цикл перенаправления. Если я пытаюсь перенаправить (в конструкторе Core_Controller) пользователя на Member_Controller, он не может работать из-за бесконечного lopp. Я понимаю, почему это произошло.

Решение: Я ищу решение, как сделать его гибким. Я попытался перенести эту проверку на помощника и вызвать его в конструкторе Core_Controller. Тем не менее, это может работать правильно.

Вопрос: Должен ли я поставить проверку в конструктор каждого контроллера? Есть ли универсальный способ сделать это?

Жду ваших мыслей.

* 1013 M.A. *

Ответы [ 2 ]

0 голосов
/ 21 ноября 2010

Вам необходимо условие, при котором оно не перенаправляется (на страницу, на которую вы перенаправлены). Вам понадобится код, похожий на этот.

if not member_controller then
    redirect to member_controller
else
    do nothing
endif

Остальное не нужно, но просто добавлено, чтобы вам было понятнее.

0 голосов
/ 21 ноября 2010

Просто проверьте, если пользователь подтвержден, и действие текущего запроса не похоже на член / подтверждение, выполните перенаправление.

И parent::__construct(); вызовет родительский конструктор, поэтому я не вижупроблема в том либо ..

...