Я уже искал все темы, и ничего не помогло. В моей установке Laravel иногда приходится перезагружать страницу после входа в систему и выхода из нее, чтобы сделать ее видимой. Очень редко вы вообще не входите в систему или не выходите из нее.
Я использую Laravel 5.6.39.
Контроллер входа
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Auth;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
use Session;
class LoginController extends Controller
{
use AuthenticatesUsers;
protected $redirectTo = '/';
public function __construct()
{
$this->middleware('guest')->except('logout');
}
protected function authenticated(Request $request, $user)
{
}
public function logout()
{
Auth::logout();
Session::flush();
return Redirect::to('/');
}
}
конфиг / session.php
return [
'driver' => env('SESSION_DRIVER', 'database'),
'lifetime' => env('SESSION_LIFETIME', 120),
'expire_on_close' => false,
'encrypt' => true,
'files' => storage_path('framework/sessions'),
'connection' => 'mysql',
'table' => 'sessions',
'store' => null,
'lottery' => [2, 100],
'cookie' => env(
'SESSION_COOKIE',
str_slug(env('APP_NAME', 'laravel'), '').'session'
),
'path' => '/',
'domain' => env('SESSION_DOMAIN', null),
'secure' => env('SESSION_SECURE_COOKIE', false),
'http_only' => true,
'same_site' => null,
];
RedirectIfAuthenticated.php промежуточное ПО
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class RedirectIfAuthenticated
{
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/');
}
return $next($request);
}
}
Я также пытался изменить имя файла cookie, определить домен файла cookie, изменить сеанс с файла на базу данных. Ничего не помогло.
Edit:
Я только что сравнил сессионную базу данных с cookie. В базе данных у меня правильный статус по сравнению с cookie, только сам Laravel говорит, что вы не вошли или не вышли из системы.
Мой RedirectIfAuthenticated
без изменений
<?php namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class RedirectIfAuthenticated
{
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/');
}
return $next($request);
}
}