Сессия Laravel уничтожена при обновлении страницы - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть админ-панель, которую я защищаю аутентификацией пользователя.Как только я пытаюсь получить к нему доступ, он перенаправляет меня в форму входа в систему, которая использует промежуточное ПО «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 Ответ

0 голосов
/ 22 ноября 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...