Сейчас я работаю над интеграцией аутентификации и авторизации в мое приложение CakePHP, и у меня возникли некоторые трудности.
Во-первых, я не использую ACL. Это пугает меня.
В моем AppController у меня есть это:
var $components = array("Auth");
Итак, всякий раз, когда я хочу проверить зарегистрированного пользователя, я вызываю это с одного из моих контроллеров:
$this->Auth->user();
И я получаю массив, который является информацией из моей таблицы usrs
(моя таблица называется usrs
с моделью Usr
).
Проблема в том, что я часто хочу вызывать функции на модели Usr
, поэтому я должен сделать это в моем контроллере:
$usr = ClassRegistry::init('Usr');
$usrInfo = $this->Auth->user();
$usr->set($usrInfo);
// -- or --
$usr = ClassRegistry::init('Usr');
$usrId = $this->Auth->user('id');
$usr->id = $usrId;
Это не кажется слишком легким, и меня это беспокоит, потому что я знаю, что должен быть лучший способ. Должен ли я добавить var $uses = array("Usr")
в свой AppController, чтобы мне не приходилось постоянно использовать ClassRegistry? Какой лучший способ сделать это?