Сессия Laravel уничтожена при обновлении страницы

У меня есть админ-панель, которую я защищаю аутентификацией пользователя. Как только я пытаюсь получить к нему доступ, он перенаправляет меня в форму входа в систему, которая использует промежуточное ПО "guest" (это ожидаемое поведение). Как только я пытаюсь войти в систему, она работает как чудо, перенаправляет меня на панель администратора и создает объект Auth (я могу получить имя). Однако, если я нажимаю на любую ссылку внутри панели или нажимаю F5, она перенаправляет меня обратно в форму входа. Чтобы проверить, что произошло, я удалил защиту промежуточного программного обеспечения 'auth' из панели администратора, и она выдает ошибку при попытке получить свойство Auth::user()->name.

Trying to get property 'name' of non-object

Поэтому я предполагаю, что он уничтожает объект Auth при каждом обновлении страницы, но я не понимаю, откуда происходит это поведение. Я использую промежуточное программное обеспечение Auth по умолчанию с LoginController, предоставленным в документации (с некоторыми изменениями):

<?php

namespace App\Http\Controllers\Authentication;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class LoginController extends Controller
{
    public function authenticate(Request $request){
        $email = $request->input('email');
        $password = $request->input('password');
        $remember = $request->input('remember');

        if (Auth::attempt(['email' => $email, 'password' => $password], $remember)) {
            return redirect()->intended('dashboard');
        }
    }

    public function index(){
        return view('auth.login');
    }
}

Все маршруты в админ-панели находятся внутри группы в моем файле маршрутов:

Route::middleware(['auth'])->group(function () {
    //All of the admin routes here
});

Маршрут входа защищен промежуточным программным обеспечением "гостя", поэтому ни один аутентифицированный пользователь не может получить доступ к форме входа.

Пожалуйста, попросите меня опубликовать любой код, который, по вашему мнению, может быть полезен, я довольно новичок в Laravel и не знаю, что писать.

1 ответ

Я решил проблему. Это была просто ошибка новичка. У меня был Auth::logout() функция в свойстве ссылки href, думая, что это сработает, когда кто-то щелкнет по ней. Вместо этого он вывел меня из системы сразу после загрузки страницы, поэтому была сессия только в первый раз.

Другие вопросы по тегам