在Laravel中,当我注销并单击“后退”按钮时,它将从我注销的位置返回页面。
我认为它是issue of flush session data
,所以我使用以下方法刷新会话数据并重定向到登录页面。
我删除了Artisan::call('cache:clear');
这行是为了清除缓存。
public function getLogout()
{
$this->auth->logout();
Artisan::call('cache:clear');
Session::flush();
return redirect('login');
}
这是我也使用过的库:
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Redirect;
use Lang;
use App\User;
use Auth;
use Session;
我认为会话无法清除数据或重定向问题。
答案 0 :(得分:0)
这是在后台调用的原始函数:
内部vendor / laravel / framework / src / Illuminate / Foundation / Auth / AuthenticateUsers.php
public function logout(Request $request)
{
$this->guard()->logout();
$request->session()->invalidate();
return redirect('/');
}
如果要进行自定义,则需要在LoginController中重写此功能。
答案 1 :(得分:0)
这应该为您工作。
public function __construct() {
//Log out Back
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1.
header("Pragma: no-cache"); // HTTP 1.0.
header("Expires: 0"); // Proxies.
header('Access-Control-Allow-Origin: *');
}
此代码应位于基本控制器上。