Laravel Auth :: logout()无法正常工作

时间:2014-11-18 20:20:43

标签: php laravel

我正在尝试注销用户,但它似乎无法正常工作......

public function logout() {

        $user = Auth::user();
        Auth::logout($user);

        return Redirect::to('/');
    }

如果我注释掉前两行,重定向工作...... 但注销部分却没有。

2 个答案:

答案 0 :(得分:1)

尝试使用 Auth :: logout(); - 不带任何参数。

您可能会遇到错误,表示您的表中没有 remember_token 字段,要解决此问题,请找到: PROJECT_FOLDER / vendor / laravel / framework / src / Illuminate / Auth / Guard .php ,然后注释掉 520

或者您可以通过在用户表格中添加“remember_token”列来解决此问题。

答案 1 :(得分:0)

最终,是的 -

在幕后,真正需要发生的唯一事情是session_destroy() -

就Laravel而言,如果需要进行任何其他清理,则存在此功能...例如,如果需要停用“记住我”的cookie ...

但是,要测试您的Laravel脚本,您可以拥有一个页面 - 让我们称之为sessionTest.php -

<?php

echo "<pre>"; 
print_r($_SESSION); 


?> 

如果您在退出之前和之后访问此页面,那么您应该更好地了解发生了什么。

如果Laravel真的失败了,它可能是一个没有正确清理的Remember_me cookie,或者我们需要进一步调查的其他一些奇怪的问题......