Laravel 使用注销消息获取注销
Laravel getLogout with Logout Message
我想在退出后收到 'Logged Out' 消息。我发现了这个:
public function getLogout()
{
// Copy over the stuff from the getLogout function in the trait
// Add your flash message
// You are done ;)
}
上面写着我需要从 getLogout 函数中复制内容并添加即显消息。但是 getLogout 代码在哪里?我找不到它。还有其他办法吗?
我试过这个:
public function getLogout()
{
Session::flash('message', 'You have been logged out!');
return redirect(action('Auth\AuthController@getLogout'));
}
在 blade 我在注销后收到指示:
@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
但这对我不起作用。有人知道解决方案吗?我只想要一条 "You have been logged out" 消息。
谢谢
getLogout 函数在 AuthenticatesUsers 特征中定义 (Illuminate/Foundation/Auth/AuthenticatesUsers.php).
默认情况下,它只是调用注销函数。
试试看:
public function getLogout()
{
Session::flash('message', 'You have been logged out!');
return $this->logout();
}
您可以使用:
return redirect(action('Auth\AuthController@getLogout'))->with('message','Your Message');
我假设你已经测试过这个动作确实被调用了?
问题在于您的重定向。 Flash 消息仅针对 1 个请求保留(如果未手动保留)。您正在重定向到注销,这会将用户重定向到他们要去的任何页面。 (可能是“/”)
第一次重定向后,您的即显信息将被清空,因此接下来的重定向将不会留下任何即现信息。
像这样更改(或创建)您的 Auth\AuthController@logout。
public function logout()
{
Auth::logout();
return redirect('/')
->with('message', 'You have been logged out');
}
或检查 Illuminate\Foundation\Auth\AuthenticatesUsers@logout
以查找要复制粘贴的内容..
客人可以访问您重定向到的位置,这一点很重要,否则您将获得另一个重定向,这将清除您的会话变量。
我想在退出后收到 'Logged Out' 消息。我发现了这个:
public function getLogout()
{
// Copy over the stuff from the getLogout function in the trait
// Add your flash message
// You are done ;)
}
上面写着我需要从 getLogout 函数中复制内容并添加即显消息。但是 getLogout 代码在哪里?我找不到它。还有其他办法吗?
我试过这个:
public function getLogout()
{
Session::flash('message', 'You have been logged out!');
return redirect(action('Auth\AuthController@getLogout'));
}
在 blade 我在注销后收到指示:
@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
但这对我不起作用。有人知道解决方案吗?我只想要一条 "You have been logged out" 消息。
谢谢
getLogout 函数在 AuthenticatesUsers 特征中定义 (Illuminate/Foundation/Auth/AuthenticatesUsers.php).
默认情况下,它只是调用注销函数。
试试看:
public function getLogout()
{
Session::flash('message', 'You have been logged out!');
return $this->logout();
}
您可以使用:
return redirect(action('Auth\AuthController@getLogout'))->with('message','Your Message');
我假设你已经测试过这个动作确实被调用了?
问题在于您的重定向。 Flash 消息仅针对 1 个请求保留(如果未手动保留)。您正在重定向到注销,这会将用户重定向到他们要去的任何页面。 (可能是“/”)
第一次重定向后,您的即显信息将被清空,因此接下来的重定向将不会留下任何即现信息。
像这样更改(或创建)您的 Auth\AuthController@logout。
public function logout()
{
Auth::logout();
return redirect('/')
->with('message', 'You have been logged out');
}
或检查 Illuminate\Foundation\Auth\AuthenticatesUsers@logout
以查找要复制粘贴的内容..
客人可以访问您重定向到的位置,这一点很重要,否则您将获得另一个重定向,这将清除您的会话变量。