Я хотел бы знать, как иметь дело только с одним процессом аутентификации и "пользователями" в нескольких таблицах. У меня есть таблица 4 Users: пользователи, администраторы, художники, teamadmins, у которых есть определенные поля, но я хотел бы, чтобы все эти пользователи могли подключаться только через одну форму на главной странице и перенаправляться после этого в свои специальные информационные панели.
Я думаю, что перенаправления не должны быть проблемой, и некоторые добавленные маршруты должны работать, но я действительно не знаю, где искать/начинать все это.
Приветствия,
Николя.
EDIT: здесь окончательное решение (спасибо deizel)
App::import('Component', 'Auth');
class SiteAuthComponent extends AuthComponent {
function identify($user = null, $conditions = null) {
$models = array('User', 'Admin', 'Artist');
foreach ($models as $model) {
$this->userModel = $model; // switch model
$this->params["data"][$model] = $this->params["data"]["User"]; // switch model in params/data too
$result = parent::identify($this->params["data"][$model], $conditions); // let cake do its thing
if ($result) {
return $result; // login success
}
}
return null; // login failure
}
}