Laravel 5.6 измените логин Hash :: make ($ data ['password']) на

Мне нужно использовать старую базу данных пользователей для нашего нового веб-сайта 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 (); ?

Самое главное - отредактировать заводскую, а не создавать новую. Я не хочу упускать из виду все другие средства защиты, которые может предложить фабрика.

SiNi Si 17.09.2018 18:42

Вам даже не нужно ничего менять, Laravel тоже использует bcrypt.

Devon 17.09.2018 18:43

Привет, Девон, я надеялся, что это правда. Не повезло, я получаю ошибку при входе в систему.

SiNi Si 17.09.2018 20:15

Хорошо, должно. Вы можете посмотреть на класс BcryptHasher, чтобы увидеть реализацию хэша по умолчанию, и использовать Hash :: check точно так же, как password_verify. Вам не следует жестко кодировать password_verify в Laravel, подключите свою собственную реализацию хеширования.

Devon 17.09.2018 20:37

Пожалуйста, не добавляйте «решено» в заголовок вопроса, спасибо. Также вы можете прочитать meta.stackoverflow.com/questions/262123/…

Cœur 01.01.2019 13:34
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
5
861
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Функция базовой аутентификации 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

SiNi Si 17.09.2018 20:18

Я решил проблему. Как написано выше ...

Вам даже не нужно ничего менять, Laravel тоже использует bcrypt. - Девон

Пакет Jwt-auth изменяет шифрование паролей паролей.

Ввод Решено в заголовок вашего вопроса - это не способ, которым страницы StackOverflow помечаются как решенные. Если чей-то ответ решил вашу проблему, вы должны отметить его ответ зеленой галочкой. Принятие собственного ответа тоже вполне приемлемо. «Как написано выше» - ненадежная терминология, потому что расположение вашего ответа может со временем измениться; вместо этого, пожалуйста, напечатайте решение как можно более красноречиво / образовательно для будущих исследователей.

mickmackusa 20.09.2018 06:13

Другие вопросы по теме