Mengubah Hala Kembali ke Destinasi Asal Selepas Log Masuk Laravel
Fungsi ini sering diperlukan dalam aplikasi web. Laravel menyediakan penyelesaian yang elegan untuk ciri-ciri penting, yang membawa kepada persoalan sama ada ini peluang yang terlepas.
Untuk Laravel 5.3 dan Ke Atas
Seperti yang Scott nyatakan, orang asli kaedah kini wujud:
return redirect()->intended('defaultpage');
Untuk Laravel 5 Sehingga 5.2
Auth Middleware:
// redirect to "/login" and store the URL in session if (Auth::guest()) { return redirect()->guest('login'); }
Tindakan Log Masuk:
// redirect back to intended page or default if not available if (Auth::attempt(['email' => $email, 'password' => $password])) { return redirect()->intended('defaultpage'); }
Untuk Laravel 4
Walaupun tiada sokongan rasmi dalam versi terdahulu, anda masih boleh melaksanakannya:
Penapis Pengesahan:
// redirect to "/login" and store the URL in session Route::filter('auth', function() { if (Auth::guest()) { return Redirect::guest('login'); } });
Tindakan Log Masuk:
// redirect back to intended page or default if not available if (Auth::attempt(['email' => $email, 'password' => $password])) { return Redirect::intended('defaultpage'); }
Untuk Laravel 3
Pendekatan awal melibatkan penyimpanan pengalihan dalam sesi:
Penapis Pengesahan:
Route::filter('auth', function() { if (Auth::guest()) { Session::put('redirect', URL::full()); return Redirect::to('/login'); } if ($redirect = Session::get('redirect')) { Session::forget('redirect'); return Redirect::to($redirect); } });
Pengawal:
// login action public function post_login() { if (Auth::attempt($credentials)) { return Redirect::to('logged_in_homepage_here'); } return Redirect::to('login')->with_input(); }
Pendekatan ini membenarkan mana-mana komponen untuk menetapkan ubah hala dalam sesi untuk mendapatkan semula seterusnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Hala Pengguna Kembali ke Destinasi Asal Mereka Selepas Log Masuk Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!