Привет! Я использую Laravel для создания своего веб-приложения. У меня есть таблица с именем buyerData
, в которой у меня есть два столбца, которые предназначены для хранения пароля. Их имена:
1- Password
2- buyerData_fb_password
Теперь проблема, с которой я сталкиваюсь по умолчанию laravel, считает, что столбец, содержащий пароль в вашей таблице, назван как Password
. Но в моем случае у меня есть еще одна колонка. Как настроить фреймворк laravel для принятия обоих столбцов в качестве пароля, зависит от столбца, который используется в данный момент времени.
Например, приведенный ниже код работает нормально, поскольку он использует столбец по умолчанию password
.
if (Auth::guard('buyer')->attempt(['buyerData_primaryEmail' => $userEmail,
'password' => $unhashPass]));
Но приведенный ниже код не работает должным образом, так как использует другое имя столбца. buyerData_fb_password
и показывает ошибку. (Показано ниже после кода).
if (Auth::guard('buyer')->attempt(['buyerData_primaryEmail' => $userEmail,
'buyerData_fb_password' => $unhashPass]));
Показывает эту ошибку
Я немного подправил функцию validateCredentials()
и сделал следующие изменения:
publi c функция validateCredentials (UserContract $ user, array $ credentials) {
if (isset($credentials['password']))
{
$plain = $credentials['password'];
}
else
{
$plain = $credentials['buyerData_fb_password'];
}
return $this->hasher->check($plain, $user->getAuthPassword());
}
После этого код работает с buyerData_fb_password
и вход успешен, но если я захожу на любую другую страницу на моем сайте, это показывает, что пользователь не является логином. Любое предложение? Спасибо