本质上,这归结为是否可以在您登录和注销时使用 CakePHP 中的模型回调来挂钩。
我尝试做的目的是在每次用户登录或退出应用程序时登录。
我设置了一个自定义日志流以将适当的值保存到数据库中。
在我的 UsersController.php 我有这个:
public function login() {
// Check if we have post data
if( $this->request->is('post') ) {
// Reset any user data hanging around
$this->User->create();
// Log our user in
if( $this->Auth->login() ) {
// Success, redirect with a message
$this->Session->setFlash( 'You have successfully logged in' );
$this->redirect( $this->Auth->loginRedirect );
} else {
// Failure, flash a message
$this->Session->setFlash( 'Incorrect Username/Password' );
}
}
}
就我所见,相当标准。
然后我在模型中寻找一些东西来挂钩登录和注销操作,以便用它写入数据库。
CakeLog::write( 'Notice', "$username has logged in." );
我知道我可以通过另一种方式做到这一点,但是我被特别要求通过模型回调来做到这一点。