【发布时间】:2017-01-07 18:37:19
【问题描述】:
我正在 laravel 5.2 中尝试简单的注销功能,但我真的不明白我错在哪里。如果有人可以提供帮助,那就太好了。
这里是路线
Route::get('logout', 'loginController@getLogout');
loginController getLogout 方法:
public function getLogout()
{
//$this->auth->logout();
Session::flush();
Auth::logout();
return redirect('/');
}
link 在使用此功能的视图中:
<a href="{{url('logout')}}">Logout</a>
会话存储代码:
$request->session()->put('name', $username['name']);
AuthController 构造函数:
public function __construct()
{
$this->middleware('guest', ['except' => ['logout', 'getLogout']]);
}
当用户点击注销链接时,它会重定向到根页面,但不会真正破坏会话或注销。它不需要登录即可查看页面(它应该)。
【问题讨论】:
-
尝试掷骰子("停在这里!");在 getLogout 函数的请求下,看看你是否正在通过它。我不是 100% 但也许你需要把 '/' 放在 url('/logout') 中。
-
是的,死确实有效。并且没有死,它确实重定向到'/'(根页面)有问题吗?
-
根据文档,flush() 删除会话中的所有数据。我在我的 laravel 应用程序中使用这条路线。 Route::get('logout', 'Auth\AuthController@logout');通常它可以工作:)
标签: php laravel session logout