Нет способа сделать это с AuthComponent
из-за способа обработки ключей сеанса. Однако вы можете просто сохранить его в сеансе самостоятельно.
Единственный способ сделать это - добавить в сеанс, когда пользователь входит в систему:
function login() {
if ($this->Auth->login($this->data)) {
$this->User->id = $this->Auth->user('id');
$this->User->contain(array('Profile', 'Group'));
$this->Session->write('User', $this->User->read());
}
}
Затем в вашем beforeFilter()
в вашем AppController
сохраните переменную для контроллеров, чтобы получить:
function beforeFilter() {
$this->activeUser = $this->Session->read('User');
}
// and allow the views to have access to user data
function beforeRender() {
$this->set('activeUser', $this->activeUser);
}
Обновление : Начиная с CakePHP 2.2 ( объявлено здесь ), AuthComponent теперь принимает ключ «содержать» для хранения дополнительной информации в сеансе.