Maison >développement back-end >tutoriel php >Comment rediriger les utilisateurs vers la page précédente après l'authentification Laravel ?

Comment rediriger les utilisateurs vers la page précédente après l'authentification Laravel ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-30 18:05:13458parcourir

How to Redirect Users Back to the Previous Page After Laravel Authentication?

Laravel : redirection vers la page précédente après la connexion

Question :

Comment puis-je rediriger un utilisateur revient à la page à laquelle il essayait d'accéder avant de rencontrer une authentification Laravel filtre ?

Réponse :

Pour Laravel 5.3 et supérieur :

Redirection vers la page prévue à l'aide de request()- >intended(), par exemple :

// Auth middleware
if (!Auth::check()) {
    return redirect()->intended('login');
}

// Login action
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    return redirect()->intended('/');
}

Pour Laravel 5 jusqu'à 5.2 :

  1. Dans le middleware d'authentification, redirigez vers "login" et stockez l'URL d'origine dans la session :
// Auth middleware
if (!Auth::check()) {
    return redirect()->guest('login');
}
  1. Dans l'action de connexion, redirigez vers la page prévue ou une page par défaut page :
// Login action
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    return redirect()->intended('defaultpage');
}

Pour Laravel 4 :

  1. Dans le filtre d'authentification, redirigez vers "login" et stockez l'URL d'origine dans le session :
// Auth filter
Route::filter('auth', function() {
    if (!Auth::check()) {
        return Redirect::guest('login');
    }
});
  1. Dans l'action de connexion, redirigez vers la page prévue ou une page par défaut page :
// Login action
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    return Redirect::intended('defaultpage');
}

Pour Laravel 3 :

  1. Dans le filtre d'authentification, stockez l'URL actuelle dans la session et redirigez vers la connexion page :
// Auth filter
Route::filter('auth', function() {
    if (!Auth::check()) {
        Session::put('redirect', URL::full());
        return Redirect::to('/login');
    }
});
  1. Dans l'action de connexion, redirigez vers la page prévue ou une page par défaut page :
// 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');
        }
    }

    // ...
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn