Maison > développement back-end > tutoriel php > Comment rediriger les utilisateurs vers leur destination d'origine après la connexion à Laravel ?

Comment rediriger les utilisateurs vers leur destination d'origine après la connexion à Laravel ?

Barbara Streisand
Libérer: 2024-11-30 17:37:11
original
456 Les gens l'ont consulté

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

Laravel : rediriger l'utilisateur vers la destination d'origine après la connexion

Dans Laravel, lorsqu'un utilisateur tente d'accéder à un itinéraire protégé, il est redirigé vers la page de connexion. Une fois connecté, l'utilisateur doit être redirigé vers la page à laquelle il essayait d'accéder à l'origine.

Solution

Pour Laravel 5.3 et supérieur

  • Utilisez la méthode prévue dans l'action de connexion pour rediriger l'utilisateur vers la page prévue. Exemple :
// Login action
public function login(Request $request)
{
    if (Auth::attempt($request->all())) {
        return redirect()->intended('dashboard');
    }

    return redirect('login');
}
Copier après la connexion

Pour Laravel 5 jusqu'à 5.2

  • Modifier le middleware d'authentification pour stocker l'URL demandée dans une session avant de rediriger vers la page de connexion.
  • Dans l'action de connexion, utilisez la méthode prévue pour rediriger l'utilisateur vers la page prévue, ou une méthode par défaut page s’il n’y en a pas. Exemple :
// 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');
}
Copier après la connexion

Pour Laravel 4

  • Utilisez la méthode Redirect::guest dans le filtre d'authentification pour rediriger l'utilisateur vers la connexion page et stockez l'URL demandée dans une session.
  • Dans l'action de connexion, utilisez la méthode Redirect::intended pour rediriger l'utilisateur vers la page prévue, ou une page par défaut s'il n'y en a pas. Exemple :
// 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');
}
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal