Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mengubah hala Pengguna ke Destinasi Yang Dimaksudkan Mereka Selepas Keizinan dalam Laravel?

Bagaimana untuk Mengubah hala Pengguna ke Destinasi Yang Dimaksudkan Mereka Selepas Keizinan dalam Laravel?

Patricia Arquette
Lepaskan: 2024-12-02 12:13:17
asal
766 orang telah melayarinya

How to Redirect Users to Their Intended Destination After Authorization in Laravel?

Mengubah Hala Kembali ke Destinasi Asal Selepas Keizinan dalam Laravel

Mengubah hala ke destinasi yang dimaksudkan selepas kebenaran pengguna adalah keperluan biasa dalam aplikasi web. Dalam Laravel, untuk mencapai ini memerlukan pemahaman cara kebenaran berfungsi dan menggunakan teknik yang sesuai.

Proses Kebenaran

Apabila pengguna cuba mengakses laluan yang dilindungi, perisian tengah pengesahan Laravel, seperti perisian tengah auth, memintas permintaan. Jika pengguna tidak log masuk, mereka akan diubah hala ke halaman log masuk.

Menentukan Destinasi Asal

Selepas log masuk, kita perlu menentukan halaman asal pengguna sedang cuba mengakses sebelum proses kebenaran bermula. Laravel menyediakan fungsi terbina dalam untuk ini:

Laravel 5.3 dan Di Atas

Dari Laravel 5.3 dan seterusnya, kaedah pembantu yang dimaksudkan telah diperkenalkan. Dalam pengawal log masuk, selepas pengesahan berjaya:

return redirect()->intended('/');
Salin selepas log masuk

Ini akan mengubah hala pengguna ke halaman yang asalnya mereka cuba akses.

Laravel 5 Sehingga 5.2

Dalam Laravel 5 sehingga 5.2, anda boleh menggunakan kaedah intended() pada Redirect kelas:

return redirect()->intended('defaultpage');
Salin selepas log masuk

Jika halaman yang dimaksudkan tidak ditetapkan, ia akan mengubah hala ke halaman lalai yang ditentukan, seperti halaman utama.

Laravel 4 dan Terdahulu

Sebelum Laravel 5.3, sokongan rasmi untuk fungsi ini kurang. Satu pendekatan melibatkan menyimpan URL yang dimaksudkan dalam sesi semasa proses kebenaran dan kemudian mengubah hala kepadanya selepas log masuk berjaya:

// In the authorization filter
if (Auth::guest()) {
    Session::put('intended', Request::fullUrl());
    return Redirect::guest('login');
}

// In the login controller
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    $intended = Session::get('intended');
    Session::forget('intended');
    return Redirect::to($intended ?: 'defaultpage');
}
Salin selepas log masuk

Pelaksanaan Manual

Jika anda lebih suka melaksanakan fungsi ini secara manual, anda boleh mengubah hala pengguna ke halaman di mana mereka boleh memilih destinasi yang diingini selepas log masuk. Sebagai alternatif, anda boleh menyimpan halaman yang dimaksudkan dalam pembolehubah sementara (cth., kuki) dan ubah hala pengguna kepadanya serta-merta selepas kebenaran berjaya.

Atas ialah kandungan terperinci Bagaimana untuk Mengubah hala Pengguna ke Destinasi Yang Dimaksudkan Mereka Selepas Keizinan dalam Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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 terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan