Как изменить пароль пользователя в Laravel
Во время работы над приложением вы можете захотеть быстро изменить пароль пользователя по некоторым причинам, и у вас нет доступа к базе данных. Кроме того, вы не хотите использовать поток забытых паролей. В этой статье я покажу вам, как изменить пароль пользователя в Laravel без доступа к базе данных.
Что касается Laravel, он поставляется с таблицей пользователей по умолчанию в базе данных. Эта таблица отвечает за хранение данных пользователя, включая учетные данные, такие как адрес электронной почты и пароль.
Laravel использует собственное хеширование для шифрования пароля. Для изменения пароля вам необходимо использовать те же методы хеширования для шифрования, которые работают только с аутентификацией Laravel.
Изменить пароль пользователя с помощью командной строки
В его ядро входит несколько функций Laravel. После установки Laravel мы автоматически получаем все эти функции. Один из них – Laravel Tinker, REPL на базе пакета PsySH. Laravel Tinker позволяет нам взаимодействовать с базой данных Laravel, заданиями, событиями и многим другим.
Мы можем использовать Tinker для изменения пароля пользователя в Laravel. Все, что нам нужно знать, – это адрес электронной почты пользователя. Итак, для начала откройте терминал в корневом каталоге вашего проекта.
Войдите в среду Tinker, выполнив команду:
php artisan tinker
Как только вы войдете в среду Tinker, вы получите контроль над Eloquent ORM. Используя ORM, вы легко можете изменить пароль пользователя. Допустим, адрес электронной почты пользователя – [email protected], пароль которого необходимо изменить. Сначала вызовите этого пользователя с помощью оператора:
$user = AppUser::where('email', '[email protected]')->first();
Затем на объекте пользователя установите пароль с помощью Hash::make()
метода. Например, установите пароль «123456». Итак, следующее утверждение:
$user->password = Hash::make('123456');
Наконец, вызовите метод save() Eloquent ORM следующим образом:
$user->save();
Приведенные выше 3 команды изменят пароль указанного пользователя.
Изменить пароль пользователя в Laravel с помощью Route
Вы также можете изменить пароль через маршрут. Однако это не рекомендуется. Я просто пишу об этом, так как это тоже способ изменить пароль. В функции обратного вызова маршрута используйте тот же код, что и в приведенном выше примере Tinker. Оба сделают точную работу. Давайте объявим маршрут changepassword и передадим код в функцию обратного вызова, как показано ниже.
маршруты / web.php
<?php
Route::get('changepassword', function() {
$user = AppUser::where('email', '[email protected]')->first();
$user->password = Hash::make('123456');
$user->save();
echo 'Password changed successfully.';
});
?>
Теперь запустите URL-адрес YOUR_DOMAIN_URL / changepassword в браузере. Он вызовет маршрут и изменит пароль пользователя. Разработчик должен удалить этот маршрут после смены пароля.
Статьи по Теме
- Как создать блог с Laravel
- Как создать приманку для борьбы со спамом в форме в Laravel
- Резервное копирование приложения Laravel на Dropbox