我最近设置会话以保存到数据库并在sessions表中添加了user_id字段,以便我可以显示登录用户的名称.为了让laravel在用户登录时保存用户的id(给定laravel不定期查找user_id列),我不得不在Authenticate.PHP文件中添加一些代码来处理它.
现在,我试图在用户注销时将user_id字段设置为null,因为目前,因为user_id字段即使在注销后仍然包含用户的id,即使它们不再登录,它仍会显示为已登录我希望扩展auth / logout功能而不实际触及供应商文件以包含我的函数,以便在注销时将user_id设置为null.
我可以在哪里添加此功能?在AuthController.PHP文件中?在routes.PHP中添加我自己的auth / logout路由声明?
如果您对我有任何疑问或需要我更好地解释一下,请告诉我.
谢谢.
解决方法:
您可以在AuthController.PHP中添加以下函数来覆盖AuthenticatesAndRegistersUsers特性的默认函数.你可以根据需要改变它.
/**
* Log the user out of the application.
*
* @return \Illuminate\Http\Response
*/
public function getlogout()
{
$this->auth->logout();
return redirect(property_exists($this, 'redirectAfterlogout') ? $this->redirectAfterlogout : '/');
}