我想在退出后收到“退出”消息。我发现了这个:
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">×</button>
</div>
@endif
但这对我没有用。有人知道解决方案吗?我只想要一个“你已经退出”的消息。
谢谢
答案 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');