Laravel Auth :: guard (guard) -> check () не работает должным образом

Я делаю домашнее веб-приложение с помощью Laravel и пытаюсь добавить 3 разные группы людей: администраторы, учителя и студенты. Я создал все это как модели, и все они имеют таблицы в базе данных. Сценарий входа работает и регистрирует пользователя, однако проблема возникает, когда я использую этот код

    if(Auth::guard('student')->check() || Auth::guard('teacher')->check() || Auth::guard('admin')->check()) {
return Redirect::to('/admin/overview')->send();
}

Логин работает, потому что когда я ввожу правильное имя пользователя и пароль, меня перенаправляют, но когда я использую неправильное имя пользователя и пароль, меня перенаправляют на ту же страницу.

Моя проблема в том, что строка кода ничего не делает, кажется, что Auth :: guard (‘student’) -> check () всегда возвращает false. Что странно, потому что это:

    if(Auth::guard('student')->attempt($credentials)) {
return Redirect::to('/student/overview')->send();
}

возвращает истину и перенаправляет меня в / студент / обзор

1

Решение

Я столкнулся с той же проблемой, затем попытался сначала создать экземпляр Auth а затем использовать check()

Вы должны управлять этим способом, просто попробуйте эту надежду, это поможет вам

$auth = Auth::guard('student');
if ($auth->check()) {
return Redirect::to('/admin/overview')->send();
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector