插入代码以保存用户上次登录的最佳位置在哪里?我几乎在手册中的标准实现中使用CakePHP Auth登录系统。
在哪里可以插入代码,以便在登录后Auth重定向之前保存到用户记录?
答案 0 :(得分:10)
如果您希望执行AuthComponent::autoRedirect
方法中的代码,则需要停用UsersController::login()
:
public $components = array(
'Auth' => array(
// ...
'autoRedirect' => false,
),
);
然后,您可以在登录操作中执行此操作,但仍需要手动执行重定向:
public function login() {
if ($this->Auth->user()) { // check user is logged in
$this->User->id = $this->Auth->user('id'); // target correct record
$this->User->saveField('last_login', date(DATE_ATOM)); // save login time
$this->redirect($this->Auth->redirect()); // redirect to default place
}
}