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('/');
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');
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'); }
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!