#laravel-5
#laravel-5
Вопрос:
пожалуйста, помогите мне, я новичок в laravel 5.2, я вручную кодирую свою страницу входа в laravel.
когда я правильно ввожу свой адрес электронной почты на своей странице входа, даже если мой пароль равен нулю или неверен, он возвращает true.
вот мой код
userController.php публичная функция postSignIn(Запрос $request){
$user = array(
'email' => $request->input('email'),
'password' => $request->input('password')
);
if (Auth::attempt($user)) {
return redirect() -> route('dashboard');
}
return redirect()->back();
}
}
пожалуйста, помогите мне. большое вам спасибо.
Комментарии:
1. если (Auth::попытка([’email’ => $request->email, ‘password’ => $request->пароль])) { return redirect()-> предназначенный($this->redirectPath()); } else { return redirect()->back()->with(‘предупреждение’, ‘Ошибка входа в систему.’); }
2. Метод attempt принимает массив пар ключ / значение в качестве своего первого аргумента. Значения в массиве будут использоваться для поиска пользователя в таблице вашей базы данных. Итак, в приведенном выше примере пользователь будет получен по значению столбца электронной почты. Если пользователь найден, хэшированный пароль, хранящийся в базе данных, будет сравниваться с хэшированным значением пароля, переданным методу через массив. Если два хэшированных пароля совпадают, для пользователя будет запущен аутентифицированный сеанс. Метод attempt вернет true, если аутентификация прошла успешно. В противном случае будет возвращено значение false .
3. laravel.com/docs/5.3/authentication#authenticating-users
4. Привет @t9toqwerty большое вам спасибо за ответ, я пробую код, который вы предложили, но он дает мне тот же результат, когда я правильно ввожу адрес электронной почты, даже если мой пароль равен нулю, он возвращает true, но если мой адрес электронной почты неверен, он возвращается. падает.
Ответ №1:
Попробуйте сбросить данные, чтобы вы могли убедиться, что передаваемые данные верны.
$credentials =['email' => $request['email'], 'password' => $request['password'];
var_dump($credentials);
Если вы уверены, что данные верны, тогда лучше проверить возврат attemp()
var_dump(Auth::попытка($учетные данные));
Вы также можете проверить проверку данных здесь: https://laravel.com/docs/5.2/validation
Кроме того, полезно проверить вашу базу данных (таблицу пользователей) на наличие нулевых записей.