Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengubah Hala Pengguna Kembali ke Destinasi Asal Mereka Selepas Log Masuk Laravel?

Bagaimanakah Saya Boleh Mengubah Hala Pengguna Kembali ke Destinasi Asal Mereka Selepas Log Masuk Laravel?

Patricia Arquette
Lepaskan: 2024-12-04 19:41:10
asal
414 orang telah melayarinya

How Can I Redirect Users Back to Their Original Destination After Laravel Login?

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');
Salin selepas log masuk

Untuk Laravel 5 Sehingga 5.2

Auth Middleware:

// redirect to "/login" and store the URL in session
if (Auth::guest()) {
    return redirect()->guest('login');
}
Salin selepas log masuk

Tindakan Log Masuk:

// redirect back to intended page or default if not available
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    return redirect()->intended('defaultpage');
}
Salin selepas log masuk

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');
    }
});
Salin selepas log masuk

Tindakan Log Masuk:

// redirect back to intended page or default if not available
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    return Redirect::intended('defaultpage');
}
Salin selepas log masuk

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);
    }
});
Salin selepas log masuk

Pengawal:

// login action
public function post_login()
{
    if (Auth::attempt($credentials)) {
        return Redirect::to('logged_in_homepage_here');
    }

    return Redirect::to('login')->with_input();
}
Salin selepas log masuk

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!

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