Laravel 5.0扩展了' Logout'功能

时间:2015-07-27 13:59:47

标签: php mysql session laravel authentication

我最近将会话设置为保存到数据库并在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路由声明?

如果您对我有任何疑问或需要我更好地解释一下,请告诉我。

感谢。

1 个答案:

答案 0 :(得分:6)

您可以在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 : '/');
    }