Мне нужно использовать старую базу данных пользователей для нашего нового веб-сайта Laravel 5.6. Теперь я могу попросить всех пользователей изменить пароли. Старым сайтом была joomla 3.7.5, и, немного поигравшись, я обнаружил, что проверяйте пароль при входе в Joomla 3.7.5 ...
$result = password_verify($PlanTextLoginForm, $PasswordForDB);
и сделать новый пароль пользователя ...
$PasswordForDB = password_hash($PlanTextLoginForm, PASSWORD_BCRYPT);
Я нашел в Laravel около 6 мест, где можно поменяться ...
Hash::make($data['password'])
to
password_hash($data['password'], PASSWORD_BCRYPT);
Я просто не могу найти задачу входа в систему?
ничего в LoginController.
Итак, реальный вопрос заключается в том, где находится функция login-> для Auth :: routes (); ?
Вам даже не нужно ничего менять, Laravel тоже использует bcrypt.
Привет, Девон, я надеялся, что это правда. Не повезло, я получаю ошибку при входе в систему.
Хорошо, должно. Вы можете посмотреть на класс BcryptHasher, чтобы увидеть реализацию хэша по умолчанию, и использовать Hash :: check точно так же, как password_verify. Вам не следует жестко кодировать password_verify в Laravel, подключите свою собственную реализацию хеширования.
Пожалуйста, не добавляйте «решено» в заголовок вопроса, спасибо. Также вы можете прочитать meta.stackoverflow.com/questions/262123/…






Функция базовой аутентификации Laravel
public function postLogin()
{
$rules = array(
'email' => 'required|email',
'password' => 'required|alphaNum|min:6');
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails())
{
return Redirect::to('login')
->withErrors($validator)
->withInput(Input::except('password'));
}
else
{
$userdata = array(
'email' => Input::get('email'),
'password' => Input::get('password')
);
if (Auth::attempt($userdata))
{
return Redirect::to('dashboard');
}
else
{
return Redirect::to('login');
}
}
}
Привет, так где это хранится. Я вижу, он смотрит на ... \ vendor \ laravel \ framework \ src \ Illuminate \ Foundation \ Auth \ Aut henticatesUsers.php
Я решил проблему. Как написано выше ...
Вам даже не нужно ничего менять, Laravel тоже использует bcrypt. - Девон
Пакет Jwt-auth изменяет шифрование паролей паролей.
Ввод Решено в заголовок вашего вопроса - это не способ, которым страницы StackOverflow помечаются как решенные. Если чей-то ответ решил вашу проблему, вы должны отметить его ответ зеленой галочкой. Принятие собственного ответа тоже вполне приемлемо. «Как написано выше» - ненадежная терминология, потому что расположение вашего ответа может со временем измениться; вместо этого, пожалуйста, напечатайте решение как можно более красноречиво / образовательно для будущих исследователей.
Самое главное - отредактировать заводскую, а не создавать новую. Я не хочу упускать из виду все другие средства защиты, которые может предложить фабрика.