Rumah >rangka kerja php >Laravel >laravel terlupa kata laluan

laravel terlupa kata laluan

WBOY
WBOYasal
2023-05-20 17:26:07854semak imbas

Laravel ialah rangka kerja web PHP yang popular, yang telah menjadi salah satu rangka kerja pilihan yang dipilih oleh pembangun web. Memandangkan Laravel terus membangun dan dikemas kini, ia terus menyediakan lebih banyak ciri dan pengalaman pengguna yang lebih baik. Ciri Terlupa Kata Laluan Laravel adalah salah satu ciri yang paling popular kerana ia membolehkan pengguna menetapkan semula kata laluan mereka melalui e-mel. Dalam artikel ini, kami akan meneroka ciri kata laluan terlupa Laravel, termasuk cara menyediakan dan menyesuaikannya serta cara menggunakannya dengan aplikasi anda.

1. Terlupa proses kata laluan

Sebelum membincangkan cara menyediakan fungsi kata laluan terlupa, mari kita fahami proses asasnya. Dalam Laravel, aliran kata laluan yang terlupa biasanya melibatkan langkah berikut:

  1. Pengguna pergi ke halaman kata laluan yang terlupa dan memasukkan alamat e-mel mereka.
  2. Aplikasi mengesahkan sama ada alamat e-mel dikaitkan dengan mana-mana pengguna.
  3. Jika alamat e-mel wujud dalam pangkalan data pengguna, aplikasi menjana pautan yang mengandungi maklumat tetapan semula kata laluan dan menghantar pautan ke alamat e-mel pengguna.
  4. Pengguna mengklik pautan dan dibawa ke halaman yang mengandungi borang tetapan semula kata laluan.
  5. Pengguna memasukkan kata laluan baharu dan menyerahkan borang.
  6. Aplikasi menyimpan kata laluan baharu ke dalam pangkalan data pengguna dan mengubah hala pengguna ke halaman log masuk.

2. Sediakan fungsi kata laluan terlupa

Sekarang kita telah memahami proses asas fungsi kata laluan terlupa, mari kita lihat cara untuk menyediakannya dalam Laravel.

  1. Mengkonfigurasi E-mel

Pertama, kami perlu mengkonfigurasi e-mel untuk aplikasi kami. Laravel menyediakan cara mudah untuk mengkonfigurasi e-mel: fail .env. Buka fail .env anda dan cari konfigurasi berikut:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your-gmail-username
MAIL_PASSWORD=your-gmail-password
MAIL_ENCRYPTION=tls

Tetapkan konfigurasi di atas kepada konfigurasi pelayan e-mel anda sendiri. Anda boleh menggunakan @example.com sebagai alamat penghantar lalai, atau tetapkannya kepada alamat sah yang telah anda konfigurasikan pada pelayan e-mel anda. Ambil perhatian bahawa anda perlu menentukan bukti kelayakan pembekal perkhidmatan e-mel yang sesuai untuk konfigurasi ini.

  1. Jana kod tetapan semula kata laluan

Seterusnya, kita perlu menjana pengawal kata laluan yang disertakan dengan Laravel dan menggunakannya untuk tetapan semula kata laluan. Jalankan arahan berikut dalam terminal:

php artisan make:auth

Perintah ini akan menjana pengawal dan pandangan pengesahan Laravel, termasuk pengawal dan paparan tetapan semula kata laluan. Apabila selesai, aplikasi Laravel anda akan mempunyai fungsi berikut:

  • Log Masuk
  • Daftar
  • Terlupa Kata Laluan
  • Tetapkan Semula Kata Laluan
  1. Paparan Tetapan Semula Kata Laluan Tersuai

Apabila anda selesai menjana pengawal dan paparan, anda mungkin mahu menyesuaikannya. Contohnya, anda boleh menukar rupa dan rasa pandangan atau menukar tindakan yang mereka lakukan. Untuk melakukan ini, anda boleh mencari fail paparan yang diperlukan dalam direktori sumber/pandangan/auth/kata laluan dan menyesuaikannya.

  1. Mesej e-mel tersuai

Mesej e-mel tetapan semula kata laluan yang disediakan oleh Laravel secara lalai mungkin tidak memenuhi keperluan khusus anda. Oleh itu, anda mungkin perlu menyesuaikannya. Untuk melakukan ini, buka fail app/Http/Controllers/Auth/ForgotPasswordController.php dan sesuaikan mesej e-mel dalam fungsi sendResetLinkEmail(). Anda boleh menyesuaikan mesej anda menggunakan kod seperti ini:

return $this->sendResetLinkFailedResponse($request, 'This is a custom message');

Baris kod ini akan diaktifkan apabila tiada pengguna yang dikaitkan dengan alamat e-mel yang ditentukan ditemui. Anda boleh menggantikan mesej tersuai dengan sebarang mesej yang anda suka.

3. Gunakan Lupa Kata Laluan dengan aplikasi anda

Kini setelah kami berjaya menyediakan ciri Lupa Kata Laluan dan menyesuaikannya, kami boleh menggunakannya dengan aplikasi Laravel kami. Untuk melakukan ini, anda perlu menambah laluan yang sepadan pada aplikasi anda. Laluan ini biasanya ditakrifkan dalam fail route/web.php.

Berikut ialah contoh laluan kata laluan yang terlupa daripada fail route/web.php:

Route::get('forgot-password', 'AuthForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('forgot-password', 'AuthForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('reset-password/{token}', 'AuthResetPasswordController@showResetForm')->name('password.reset');
Route::post('reset-password', 'AuthResetPasswordController@reset')->name('password.update');

Dalam laluan ini, 'Auth' ialah laluan pengawal yang dijana oleh Laravel. Anda boleh menukarnya berdasarkan nama pengawal dan pandangan anda sendiri.

Sekarang kami telah menambah laluan pada aplikasi, mari buat pautan. Anda boleh menambah kod berikut pada fail paparan anda:

<a href="{{ route('password.request') }}">Forgot your password?</a>

Kini apabila pengguna mengklik pada pautan di atas, mereka akan dibawa ke halaman kata laluan yang terlupa dan boleh memasukkan alamat e-mel mereka untuk menetapkan semula kata laluan mereka.

Kesimpulan:

Dalam artikel ini, kami membincangkan ciri kata laluan terlupa Laravel. Kami mula-mula memahami proses asas lupa kata laluan, dan kemudian berjaya menyediakan dan menyesuaikan fungsi kata laluan terlupa dengan mengkonfigurasi e-mel, menjana kod tetapan semula kata laluan, menyesuaikan paparan tetapan semula kata laluan dan mesej e-mel. Akhirnya, kami menggunakannya dalam aplikasi kami dan menyambungkannya dengan penghalaan dan pautan halaman yang diperlukan. Dengan ciri kata laluan terlupa Laravel, kami boleh meningkatkan keselamatan dan pengalaman pengguna aplikasi kami dengan mudah.

Atas ialah kandungan terperinci laravel terlupa kata laluan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:laravel memadam migrasiArtikel seterusnya:laravel memadam migrasi