Maison > développement back-end > tutoriel php > Comment rediriger les utilisateurs vers leur destination prévue après autorisation dans Laravel ?

Comment rediriger les utilisateurs vers leur destination prévue après autorisation dans Laravel ?

Patricia Arquette
Libérer: 2024-12-02 12:13:17
original
780 Les gens l'ont consulté

How to Redirect Users to Their Intended Destination After Authorization in Laravel?

Redirection vers la destination d'origine après autorisation dans Laravel

La redirection vers la destination prévue après l'autorisation de l'utilisateur est une exigence courante dans les applications Web. Dans Laravel, pour y parvenir, il faut comprendre le fonctionnement de l'autorisation et utiliser des techniques appropriées.

Le processus d'autorisation

Lorsqu'un utilisateur tente d'accéder à une route protégée, le middleware d'authentification de Laravel, tel que le middleware d'authentification, intercepte la demande. Si l'utilisateur n'est pas connecté, il est redirigé vers une page de connexion.

Détermination de la destination d'origine

Après la connexion, nous devons déterminer la page d'origine de l'utilisateur essayait d'accéder avant le début du processus d'autorisation. Laravel fournit des fonctionnalités intégrées pour cela :

Laravel 5.3 et versions ultérieures

À partir de Laravel 5.3, la méthode d'assistance prévue a été introduite. Dans le contrôleur de connexion, après une authentification réussie :

return redirect()->intended('/');
Copier après la connexion

Cela redirigera l'utilisateur vers la page à laquelle il tentait initialement d'accéder.

Laravel 5 jusqu'à 5.2

Dans Laravel 5 jusqu'à 5.2, vous pouvez utiliser la méthode prévue() sur la redirection class :

return redirect()->intended('defaultpage');
Copier après la connexion

Si la page souhaitée n'est pas définie, elle sera redirigée vers la page par défaut spécifiée, telle que la page d'accueil.

Laravel 4 et versions antérieures

Avant Laravel 5.3, le support officiel de cette fonctionnalité faisait défaut. Une approche consiste à stocker l'URL prévue dans la session pendant le processus d'autorisation, puis à y rediriger une fois la connexion réussie :

// In the authorization filter
if (Auth::guest()) {
    Session::put('intended', Request::fullUrl());
    return Redirect::guest('login');
}

// In the login controller
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    $intended = Session::get('intended');
    Session::forget('intended');
    return Redirect::to($intended ?: 'defaultpage');
}
Copier après la connexion

Mise en œuvre manuelle

Si vous préférez implémentez manuellement cette fonctionnalité, vous pouvez rediriger les utilisateurs vers une page où ils peuvent sélectionner la destination souhaitée après s'être connectés. Vous pouvez également stocker la page souhaitée dans une variable transitoire (par exemple, un cookie) et rediriger les utilisateurs vers immédiatement après autorisation réussie.

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!

source:php.cn
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