我使用laravel 5.1和原始设置。如果我使用user1的id登录,然后单击返回按钮进入登录页面,再次使用user2的id登录,我仍然可以获得user1的内容。登录user2后尝试刷新页面,但仍然可以获得user1的内容。
然后我重写功能
public function postLogin(\Illuminate\Http\Request $request)
并添加到以下行:
Auth::logout();
有没有解决这个问题?
答案 0 :(得分:1)
在深入研究代码后,我发现问题出现在中间件中。对AuthController
进行了两次修改以解决问题:
首先,更改以下代码
public function __construct()
{
$this->middleware('guest', ['except' => 'getLogout']);
}
到
public function __construct()
{
$this->middleware('guest', ['except' => ['getLogout', 'postLogin']]);
}
第二,在函数\Auth::logout()
的开头添加postLogin()
,然后就可以了!