Я использую CakePHP для создания нового веб-сайта и для административной части, я использую многослойные префиксы, например.(admin / web)
Таким образом, в этом случае admin - это префикс, а web - это префикс.
Я пытался использовать контроллер authorize => и настроить функцию isAuthorized следующим образом:
public function isAuthorized($user = null)
{
if (!$this->request->getParam('prefix')) {
return true;
}
// Only admins or specific roles can access admin functions
if ($this->request->getParam('prefix') === 'admin') {
if ($this->request->getParam('prefix') === 'web') {
return (bool)($user['role'] === 'admin');
}
return (bool)($user['role'] === 'admin');
}
return false;
}
И в любом контроллере я добавил:
public function beforeFilter(Event $event)
{
parent::beforeFilter($event);
}
Но работает только первый префикс (admin), другой (web) выдает мне сообщение о том, что мне нужновойти, прежде чем я смогу увидеть эту страницу.
Есть предложения?
Спасибо.