我在互联网上搜索了此问题。我看到的只是其他类型的错误。 我使用CSRF ,这不是我的缓存问题,并且我的文件具有正确的权限。
登录页面不在“网络”中间件之内,因为我不希望它的会话超时受到影响。我不知道如何,但是如果我让会话结束,我的意思是超时,当我尝试登录我的项目时会收到下一条错误消息
该页面因不活动而过期。请刷新,然后重试。
请澄清一下,如果我在超时到期之前登录,一切正常。
在我的routes/web.php
中,我有:
Route::get('/', 'LoginController@index')->name('index');
Route::middleware(['web'])->group(function () {
// More routes
}
在我的Kernel.php
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
'throttle:60,1',
'bindings',
],
];
我做错了什么?我想念什么吗?
有关我的项目的更多信息:使用cookie的Laravel 5.5。
让我知道是否需要更多信息。
答案 0 :(得分:0)
尝试以下步骤
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
php artisan config:cache
然后在控制器构造函数中尝试刷新会话,因为此csrf_token按用户存储在会话中。
public function __construct()
{
Session::flush();
}
Session::regenerateToken(); // Which generates a new token on request.