3 回答
TA贡献1871条经验 获得超13个赞
您可以监听Login和Logout事件以记录操作。为此,请将以下内容添加到boot()您的方法中EventServiceProvider:
Event::listen(\Illuminate\Auth\Events\Login::class, function ($event) {
\Log::info("User login: {$event->user->name}");
});
Event::listen(\Illuminate\Auth\Events\Logout::class, function ($event) {
\Log::info("User logout: {$event->user->name}");
});
使用此方法,您不必覆盖现有的和框架提供的控制器操作。
TA贡献1775条经验 获得超11个赞
您必须覆盖正确的方法。我认为 userLogout 永远不会从框架中调用。
/**
* Log the user out of the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function logout(Request $request)
{
Log::info('User '.Auth::user()->email.' has logged out');
Auth::guard('web')->logout();
return redirect()->route('login');
}
TA贡献1804条经验 获得超7个赞
你需要在 app/Http/Controllers/Auth/LoginController.php 中设置一个注销方法
public function logout(Request $request)
{
Log::info('User '.Auth::user()->email.' has logged out');
$this->guard()->logout();
$request->session()->invalidate();
return redirect()->route('login');
}
如果您设置了默认身份验证路由,则此方法将在注销时调用,并且 Log 将在注销时添加到 laravel.log 文件中。
- 3 回答
- 0 关注
- 665 浏览
添加回答
举报