Jak zmienić hasło użytkownika w Laravel?
Podczas pracy nad aplikacją możesz z jakichś powodów chcieć szybko zmienić hasło użytkownika i nie masz dostępu do bazy danych. Ponadto nie chcesz przechodzić do zapomnianego hasła. W tym artykule pokażę, jak zmienić hasło użytkownika w Laravel bez dostępu do bazy danych.
Jeśli chodzi o Laravela, jest on dostarczany z domyślną tabelą „users" w bazie danych. Ta tabela jest odpowiedzialna za przechowywanie danych użytkownika, w tym danych uwierzytelniających, takich jak adres e-mail i hasło.
Laravel wykorzystuje własne mieszaja zaszyfrować hasło. Aby zmienić hasło, musisz użyć tych samych technik haszowania do szyfrowania, działa tylko z uwierzytelnianiem Laravel.
Zmień hasło użytkownika za pomocą wiersza poleceń
Istnieje kilka funkcji, które Laravel zawiera w swoim rdzeniu. Po zainstalowaniu Laravela wszystkie te funkcje otrzymujemy automatycznie. Jednym z nich jest Laravel Tinker, REPL zasilany przez pakiet PsySH. Laravel Tinker pozwala nam na interakcję z bazą danych Laravel, ofertami pracy, wydarzeniami i nie tylko.
Możemy użyć Tinkera do zmiany hasła użytkownika w Laravel. Wszystko, co musimy znać, to adres e-mail użytkownika. Aby rozpocząć, otwórz terminal w katalogu głównym projektu.
Wejdź do środowiska Tinker, uruchamiając polecenie:
php artisan tinker
Po wejściu do środowiska Tinker będziesz mieć kontrolę nad Eloquent ORM. Za pomocą ORM możesz łatwo zmienić hasło użytkownika. Załóżmy, że adres e-mail użytkownika to „ [email protected] “, którego hasło należy zmienić. Najpierw pobierz tego użytkownika za pomocą oświadczenia:
$user = AppUser::where('email', '[email protected]')->first();
Następnie na obiekcie użytkownika ustaw hasło przy użyciu Hash::make()
metody. Na przykład ustaw hasło jako „123456″. Więc następne stwierdzenie to:
$user->password = Hash::make('123456');
Na koniec wywołaj metodę save() Eloquent ORM w następujący sposób:
$user->save();
Powyższe 3 komendy zmienią hasło określonego użytkownika.
Zmień hasło użytkownika w Laravel przy użyciu trasy
Możesz również zmienić hasło na trasie. Nie jest to jednak zalecane. Właśnie o tym piszę, bo tak też można zmienić hasło. W funkcji zwrotnej trasy użyj tego samego kodu, którego użyliśmy w powyższym Tinkerze. Obaj wykonaliby dokładnie to zadanie. Zadeklarujmy trasę ‘changepassword’ i przekażmy kod w funkcji zwrotnej, jak pokazano poniżej.
trasy/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.';
});
?>
Teraz uruchom w przeglądarce adres URL YOUR_DOMAIN_URL/changepassword. Zadzwoni na trasę i zmieni hasło użytkownika. Deweloper musi usunąć tę trasę po zmianie hasła.
Powiązane artykuły
- Jak stworzyć bloga z Laravel
- Jak stworzyć Honeypota do walki ze spamem formularzy w Laravel?
- Kopia zapasowa aplikacji Laravel na Dropbox