Диспетчер маршрутизатора php mvc и аутентификация

Я работаю над кодом, который кто-то написал на основе Fat-Free Framework. В основном это CRM.
Я видел, что он использует диспетчерскую функцию, подобную той, что я здесь:
В чем разница между URL-маршрутизатором и диспетчером?
Я не нашел достаточно документации по этому подходу.
Во всяком случае, он также поставил аутентификацию в диспетчере так:

function dispatch()
{
if(UserManager::isLogin())
{
$controller = $router->getController();
$actionName = $router->getAction();
$controller[$actionName]();
}
else
{
routeTo('/login');
}
}

Мой вопрос: считаете ли вы правильным поставить одну диспетчерскую проверку подлинности внутри диспетчера для всех контроллеров, или вы будете выполнять проверку входа в систему на каждом контроллере, или вы сделаете что-то еще? Я привожу примеры из хорошо известных фреймворков или CMS.

Спасибо

1

Решение

Первый F3 не разрешает диспетчеризацию по умолчанию, поэтому подход заключается в использовании функции beforeroute ().
В вашем базовом контроллере (или классе, перенаправленном на) добавьте

public function beforeroute($f3){
if(!UserManager::isLogin())
{
$f3->reroute('/login');
}
}

Затем каждый раз, когда вы вызываете класс (который расширяет ваш базовый класс с помощью вышеуказанной функции), он сначала проверяет логин. Надеюсь это поможет.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector