Теперь я работаю над интеграцией аутентификации и авторизации в своем приложении CakePHP, и у меня возникают некоторые трудности.Проверка подлинности CakePHP и модель пользователя
Прежде всего, я не использую ACL. Меня это пугает.
В моей AppController у меня есть это:
var $components = array("Auth");
Таким образом, в любое время я хочу, чтобы проверить, вошедшего в систему пользователя, я называю это один из моих контроллеров:
$this->Auth->user();
И I получите массив, который является информацией из моей таблицы 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;
Это, кажется, не очень cakey, и это было мне пристанет так как я знаю, что должен быть лучший способ. Должен ли я добавить var $uses = array("Usr")
в свой AppController, поэтому мне не нужно постоянно использовать ClassRegistry? Каков наилучший способ сделать это?
Где Вы знаете, вы могли бы назвать модель пользователя и установить $ useTable = «usrs», или позвоните по модели USR и установить $ useTable = ' usr 'или' users ', или вам просто не нравится буква' e '? :) – deizel
спасибо за советский дизл. У меня есть какой-то kyboard issus, над которым я работаю. ;) В любом случае, я прочитал в блоге, что «Пользователь» - это зарезервированное слово в Oracle (которое я использую сейчас впервые) - соединитель Oracle не является самым проверенным фрагментом кода, который я видел, поэтому я подумал, что лучше просто избежать проблемы вообще. – nickf