Laravel не устанавливает сессию, set_cookie отсутствует в заголовке ответа - PullRequest
2 голосов
/ 03 июня 2019

После отправки формы отображается «419 | страница устарела».Я использовал @csrf в форме, и он работает на моем локальном сервере.Тем не менее, я сталкиваюсь с проблемой на живом сервере.Любая помощь?У меня есть три типа пользователей и для них реализована мульти аутентификация.Форма даже не отправляет в контроллер.

config / auth.php

return [
    'defaults' => [
        'guard' => 'vendor',
        'passwords' => 'vendors',
    ],
    'guards' => [
        'admin' => [
            'driver' => 'session',
            'provider' => 'admins',
        ],
        'manager' => [
            'driver' => 'session',
            'provider' => 'managers',
        ],
        'vendor' => [
            'driver' => 'session',
            'provider' => 'vendors',
        ],
        'api' => [
            'driver' => 'token',
            'provider' => 'users',
            'hash' => false,
        ],
    ],
    'providers' => [
        'admins' => [
            'driver' => 'eloquent',
            'model' => App\Admin::class,
        ],
        'managers' => [
            'driver' => 'eloquent',
            'model' => App\Manager::class,
        ],
        'vendors' => [
            'driver' => 'eloquent',
            'model' => App\Vendor::class,
        ],
    ],
    'passwords' => [
        'admins' => [
            'provider' => 'admins',
            'table' => 'password_resets',
            'expire' => 60,
        ],
        'managers' => [
            'provider' => 'managers',
            'table' => 'password_resets',
            'expire' => 60,
        ],
        'vendors' => [
            'provider' => 'vendors',
            'table' => 'password_resets',
            'expire' => 60,
        ],
    ],
];

RedirectedIfAuthenticated.php

<?php

public function handle($request, Closure $next, $guard = null)
{
    switch ($guard) {
        case 'admin':
            if (Auth::guard($guard)->check()) {
                return redirect()->route('admin.dashboard');
            }
            break;
        case 'manager':
            if (Auth::guard($guard)->check()) {
                return redirect()->route('manager.dashboard');
            }
            break;
        case 'vendor':
            if (Auth::guard($guard)->check()) {
                return redirect()->route('vendor.dashboard');
            }
            break;

        default:
            if (Auth::guard($guard)->check()) {
                return redirect('/home');
            }
            break;
    }

    return $next($request);
}
...