Come cambiare la password dell’utente in Laravel
Mentre lavori sull’applicazione, potresti voler cambiare rapidamente la password di un utente per alcuni motivi e non hai accesso al database. Inoltre, non vuoi andare per il flusso della password dimenticata. In questo articolo, ti mostro come modificare la password di un utente in Laravel senza accedere al database.
Quando si tratta di Laravel, viene fornito con una tabella "utenti" predefinita nel database. Questa tabella è responsabile della memorizzazione dei dettagli dell’utente, incluse credenziali come e-mail e password.
Laravel utilizza il proprio Hashing per crittografare la password. Per modificare la password è necessario utilizzare le stesse tecniche di hashing per la crittografia, quindi funziona solo con l’autenticazione Laravel.
Modifica la password dell’utente utilizzando la riga di comando
Ci sono diverse funzionalità che Laravel ha incluso nel suo nucleo. Dopo aver installato Laravel, otteniamo automaticamente tutte queste funzionalità. Uno di questi è Laravel Tinker, un REPL alimentato dal pacchetto PsySH. Laravel Tinker ci consente di interagire con il database Laravel, lavori, eventi e altro ancora.
Possiamo usare Tinker per cambiare la password di un utente in Laravel. Tutto quello che dobbiamo sapere è l’indirizzo email di un utente. Quindi, per iniziare, apri il terminale nella directory principale del tuo progetto.
Entra nell’ambiente Tinker eseguendo il comando:
php artisan tinker
Una volta entrato nell’ambiente Tinker, avrai il controllo su Eloquent ORM. Utilizzando l’ORM, è possibile modificare facilmente la password dell’utente. Supponiamo che l’email dell’utente sia " [email protected] " la cui password deve essere modificata. All’inizio, recupera questo utente con un’istruzione:
$user = AppUser::where('email', '[email protected]')->first();
Successivamente, sull’oggetto utente impostare la password utilizzando il Hash::make()
metodo. Ad esempio, imposta la password come "123456". Quindi la prossima affermazione è:
$user->password = Hash::make('123456');
Infine, chiama il metodo save() di Eloquent ORM come segue:
$user->save();
I 3 comandi precedenti cambieranno la password di un utente specificato.
Modifica la password dell’utente in Laravel utilizzando Route
Puoi anche cambiare la password attraverso il percorso. Tuttavia, non è raccomandato. Ne scrivo solo perché questo è anche il modo per cambiare la password. Nella funzione di callback della route, usa lo stesso codice che abbiamo usato in Tinker sopra. Entrambi farebbero esattamente il lavoro. Dichiariamo una route ‘changepassword’ e passiamo il codice nella funzione di callback come mostrato di seguito.
route/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.';
});
?>
Ora, esegui l’URL YOUR_DOMAIN_URL/changepassword nel browser. Chiamerà il percorso e cambierà la password dell’utente. Lo sviluppatore deve rimuovere questo percorso una volta modificata la password.
articoli Correlati
- Come creare un blog con Laravel
- Come creare Honeypot per combattere lo spam dei moduli in Laravel
- Backup dell’applicazione Laravel su Dropbox