Laravel: Mengubah hala ke Halaman Sebelumnya Selepas Log Masuk
Soalan:
Bagaimana saya boleh mengubah hala pengguna kembali ke halaman yang mereka cuba akses sebelum menemui pengesahan Laravel penapis?
Jawapan:
Untuk Laravel 5.3 dan ke atas:
Ubah hala ke halaman yang dimaksudkan menggunakan request()- >intended(), cth.:
// Auth middleware if (!Auth::check()) { return redirect()->intended('login'); } // Login action if (Auth::attempt(['email' => $email, 'password' => $password])) { return redirect()->intended('/'); }
Untuk Laravel 5 sehingga 5.2:
// Auth middleware if (!Auth::check()) { return redirect()->guest('login'); }
// Login action if (Auth::attempt(['email' => $email, 'password' => $password])) { return redirect()->intended('defaultpage'); }
Untuk Laravel 4:
// Auth filter Route::filter('auth', function() { if (!Auth::check()) { return Redirect::guest('login'); } });
// Login action if (Auth::attempt(['email' => $email, 'password' => $password])) { return Redirect::intended('defaultpage'); }
Untuk Laravel 3:
// Auth filter Route::filter('auth', function() { if (!Auth::check()) { Session::put('redirect', URL::full()); return Redirect::to('/login'); } });
// Login controller public function get_login() { // ... } public function post_login() { // ... if (Auth::attempt($credentials)) { $redirect = Session::get('redirect'); Session::forget('redirect'); if ($redirect) { return Redirect::to($redirect); } else { return Redirect::to('defaultpage'); } } // ... }
Atas ialah kandungan terperinci Bagaimana untuk Mengubah Hala Pengguna Kembali ke Halaman Sebelumnya Selepas Pengesahan Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!