Я делаю домашнее веб-приложение с помощью 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();
}
возвращает истину и перенаправляет меня в / студент / обзор
Я столкнулся с той же проблемой, затем попытался сначала создать экземпляр Auth
а затем использовать check()
Вы должны управлять этим способом, просто попробуйте эту надежду, это поможет вам
$auth = Auth::guard('student');
if ($auth->check()) {
return Redirect::to('/admin/overview')->send();
}
Других решений пока нет …