使用注销消息的Laravel getLogout

时间:2016-04-18 09:48:48

标签: laravel messagebox laravel-blade

我想在退出后收到“退出”消息。我发现了这个:

public function getLogout()
{
    // Copy over the stuff from the getLogout function in the trait

    // Add your flash message

    // You are done ;)
}

写了我需要从getLogout函数复制东西,只需添加flash消息。但是getLogout代码在哪里?我找不到它。还有其他方法吗?

我试过了:

public function getLogout()
{
    Session::flash('message', 'You have been logged out!');
    return redirect(action('Auth\AuthController@getLogout'));
}

在刀片上,我在退出之后得到了指示:

@if (Session::has('message'))
    <div class="alert alert-info">{{ Session::get('message') }}
        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
    </div>
@endif

但这对我没有用。有人知道解决方案吗?我只想要一个“你已经退出”的消息。

谢谢

3 个答案:

答案 0 :(得分:1)

我假设您已经测试过该动作实际被调用了吗?

问题在于重定向。 Flash消息仅针对1个请求(如果不是手动保留)。您正在重定向到注销,这会将用户重定向到他们要访问的任何页面。 (可能&#39; /&#39;)

第一次重定向后,您的Flash消息将被清空,因此以下重定向没有剩余的Flash消息。

更改(或创建)Auth \ AuthController @ logout,如下所示。

public function logout()
{
    Auth::logout();

    return redirect('/')
        ->with('message', 'You have been logged out');
}

或者检查Illuminate\Foundation\Auth\AuthenticatesUsers@logout要复制粘贴的内容..

重要的是,您重定向到的位置可供访客访问,否则您将获得另一个重定向,这将清除您的会话变量。

答案 1 :(得分:-1)

getLogout函数在AuthenticatesUsers trait(Illuminate / Foundation / Auth / AuthenticatesUsers.php)中定义。

默认情况下,它只调用注销功能。

尝试改为:

$location.path("/welcome/" + $scope.userName);

答案 2 :(得分:-1)

你可以使用:

return redirect(action('Auth\AuthController@getLogout'))->with('message','Your Message');