Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengubah Hala Pengguna ke Destinasi Asal Mereka Selepas Log Masuk Laravel?

Bagaimana untuk Mengubah Hala Pengguna ke Destinasi Asal Mereka Selepas Log Masuk Laravel?

Barbara Streisand
Barbara Streisandasal
2024-11-30 17:37:11344semak imbas

How to Redirect Users to Their Original Destination After Laravel Login?

Laravel: Ubah Hala Pengguna ke Destinasi Asal Selepas Log Masuk

Dalam Laravel, apabila pengguna cuba mengakses laluan yang dilindungi, mereka dialihkan ke halaman log masuk. Selepas log masuk, pengguna harus diubah hala semula ke halaman yang mereka cuba akses pada asalnya.

Penyelesaian

Untuk Laravel 5.3 dan Ke Atas

  • Gunakan kaedah yang dimaksudkan dalam tindakan log masuk untuk mengubah hala pengguna kembali ke halaman yang dimaksudkan. Contoh:
// Login action
public function login(Request $request)
{
    if (Auth::attempt($request->all())) {
        return redirect()->intended('dashboard');
    }

    return redirect('login');
}

Untuk Laravel 5 Sehingga 5.2

  • Ubah suai perisian tengah auth untuk menyimpan URL yang diminta dalam sesi sebelum mengubah hala ke halaman log masuk.
  • Dalam tindakan log masuk, gunakan kaedah yang dimaksudkan untuk mengubah hala pengguna kembali ke yang dimaksudkan halaman, atau halaman lalai jika tiada. Contoh:
// Auth middleware
public function handle($request, Closure $next)
{
    if (Auth::guest()) {
        Session::put('intended_url', request()->url());
        return redirect('login');
    }

    return $next($request);
}

// Login action
public function login(Request $request)
{
    if (Auth::attempt($request->all())) {
        return redirect()->intended('dashboard');
    }

    return redirect('login');
}

Untuk Laravel 4

  • Gunakan kaedah Redirect::guest dalam penapis auth untuk mengubah hala pengguna ke log masuk halaman dan simpan URL yang diminta dalam sesi.
  • Dalam tindakan log masuk, gunakan kaedah Redirect::intended untuk ubah hala pengguna kembali ke halaman yang dimaksudkan, atau halaman lalai jika tiada. Contoh:
// Auth filter
Route::filter('auth', function($route, $request) {
    if (Auth::guest())
    {
        Session::put('intended_url', request()->url());
        return Redirect::guest('login');
    }
});

// Login action
public function login(Request $request)
{
    if (Auth::attempt($request->all())) {
        return Redirect::intended('dashboard');
    }

    return Redirect::to('login');
}

Atas ialah kandungan terperinci Bagaimana untuk Mengubah Hala Pengguna ke Destinasi Asal Mereka Selepas Log Masuk Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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