Kuinka vaihtaa käyttäjän salasana Laravelissa
Kun työskentelet sovelluksen parissa, saatat haluta vaihtaa käyttäjän salasanan jostain syystä etkä pääse tietokantaan. Lisäksi et halua mennä unohtuneeseen salasanavirtaan. Tässä artikkelissa näytän, kuinka voit vaihtaa käyttäjän salasanan Laravelissa käyttämättä tietokantaa.
Kun kyse on Laravelista, sen mukana toimitetaan oletusarvoinen "käyttäjien" taulukko tietokannassa. Tämä taulukko on vastuussa käyttäjän tietojen tallentamisesta, mukaan lukien tunnistetiedot, kuten sähköposti ja salasana.
Laravel käyttää omia hajautus salasanan salaamiseen. Salasanan vaihtamiseksi sinun on käytettävä samoja hajautustekniikoita salauksessa, vain se toimii Laravel-todennuksen kanssa.
Vaihda käyttäjän salasana komentorivillä
Laravelin ytimessä on useita ominaisuuksia. Kun asennat Laravel, saamme kaikki nämä ominaisuudet automaattisesti. Yksi heistä on Laravel Tinker, REPL, jonka tarjoaa PsySH- paketti. Laravel Tinker antaa meille mahdollisuuden olla vuorovaikutuksessa Laravel-tietokannan, työpaikkojen, tapahtumien ja muun kanssa.
Voimme käyttää Tinkeriä vaihtaaksesi käyttäjän salasanan Laravelissa. Ainoa mitä meidän on tiedettävä, on käyttäjän sähköpostiosoite. Joten aloittaaksesi, avaa pääte projektisi juurihakemistossa.
Siirry Tinker-ympäristöön suorittamalla komento:
php artisan tinker
Kun olet siirtynyt Tinker-ympäristöön, sinulla on hallinnan Eloquent ORM -sovelluksesta. ORM: n avulla voit helposti vaihtaa käyttäjän salasanan. Oletetaan, että käyttäjän sähköpostiosoite on [email protected] ja salasanan on vaihdettava. Aluksi hae tämä käyttäjä lauseella:
$user = AppUser::where('email', '[email protected]')->first();
Aseta seuraavaksi käyttäjäobjektissa salasana Hash::make()
menetelmällä. Aseta esimerkiksi salasanaksi 123456. Joten seuraava lausunto on:
$user->password = Hash::make('123456');
Soita lopuksi Eloquent ORM -menetelmän save() -menetelmä seuraavasti:
$user->save();
Yllä olevat 3 komentoa vaihtavat määritetyn käyttäjän salasanan.
Vaihda käyttäjän salasana Laravelissa käyttämällä Reittiä
Voit vaihtaa salasanan myös reitin kautta. Sitä ei kuitenkaan suositella. Kirjoitan vain siitä, koska tämä on myös tapa vaihtaa salasana. Käytä reitin takaisinsoittotoiminnossa samaa koodia kuin mitä käytimme yllä olevassa Tinkerissä. Molemmat tekisivät tarkan työn. Ilmoitetaan reitti ‘muutossalasanaksi’ ja välitetään koodi soittotoiminnossa alla olevan kuvan mukaisesti.
reitit / 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.';
});
?>
Suorita nyt URL-osoite YOUR_DOMAIN_URL / changepassword selaimessa. Se soittaa reitille ja vaihtaa käyttäjän salasanan. Kehittäjän on poistettava tämä reitti, kun salasana on vaihdettu.