本質的にこれは、CakePHP でModel Callbackを使用して、ログインおよびログアウト時にフックすることが可能であるということになります。
私がやろうとしていることの目的は、ユーザーがアプリケーションにログインまたはログアウトするたびにログを記録することです。
データベースに適切な値を保存するようにカスタム ログ ストリームを設定しました。
私の 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' );
}
}
}
私が見る限りかなり標準的です。
次に、Login アクションと Logout アクションにフックして、これを使用してデータベースに書き込むためのモデルを探しています。
CakeLog::write( 'Notice', "$username has logged in." );
これを別の方法で行うことができることは承知していますが、モデル コールバックを使用してこれを行うように具体的に求められました。