Table des matières
1. Installez Laravel
2. 实现登录功能
3. 实现登录后跳转
4. 总结
Maison cadre php Laravel Comment implémenter la fonction de saut après la connexion dans Laravel

Comment implémenter la fonction de saut après la connexion dans Laravel

Apr 21, 2023 am 10:06 AM

Laravel est actuellement le framework Web PHP le plus utilisé. Sa fonction de connexion est très couramment utilisée, et accéder à la page spécifiée après une connexion réussie est également l'une des exigences courantes. Cet article présentera en détail comment implémenter la fonction de saut après la connexion à Laravel.

1. Installez Laravel

Si vous n'avez pas installé Laravel, vous pouvez suivre les étapes ci-dessous pour l'installer :

  1. Installez le programme d'installation de Laravel : composer global require laravel/installer
  2. composer global require laravel/installer
  3. 创建新项目:laravel new project_name
  4. 进入项目目录:cd project_name
  5. 启动 Laravel 内置服务器:php artisan serve

在本文中,我们将使用默认配置进行开发,如果您使用了其他配置,可能会稍有不同。

2. 实现登录功能

在 Laravel 中实现登录功能非常简单,只需要使用 Auth 中间件即可。在 routes/web.php 文件中增加以下路由:

Route::get('/login', 'LoginController@showLoginForm')->name('login');
Route::post('/login', 'LoginController@login');
Copier après la connexion

这两个路由分别对应登录页面的显示和登录操作的处理。其中,LoginController@showLoginForm 方法用于显示登录表单,LoginController@login 方法用于处理用户提交的登录请求。

如果您还没有创建 LoginController,可以通过以下命令快速创建:

php artisan make:controller LoginController
Copier après la connexion

LoginController 中,可以使用 Laravel 提供的 AuthenticatesUsers trait 快速实现登录功能。只需要在类中引入此 trait 即可:

use AuthenticatesUsers;

public function __construct()
{
    $this->middleware('guest')->except('logout');
}
Copier après la connexion

默认情况下,登录成功后会跳转到 /home 页面,可以在 AuthLoginController 中修改 $redirectTo 属性来指定用户登录成功后跳转的页面。

protected $redirectTo = '/dashboard';//修改为你要跳转的路径
Copier après la connexion

3. 实现登录后跳转

在 Laravel 中实现登录后跳转也非常简单,只需要在登录控制器中修改 $redirectTo 属性即可。但是,如果您希望登录成功后跳转到用户之前访问的页面,那么需要进行以下操作:

  1. 创建 RedirectIfAuthenticated 中间件

app/Http/Middleware 目录下创建 RedirectIfAuthenticated.php 文件,并添加以下代码:

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;

class RedirectIfAuthenticated
{
    public function handle(Request $request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
            return redirect()->intended('/dashboard');//修改为登录成功后要跳转的路径
        }

        return $next($request);
    }
}
Copier après la connexion

代码中的 intended 方法会尝试将用户重定向到他们最初请求页面的位置,如果没有先前的位置,则默认重定向到指定的路径。

  1. app/Http/Kernel.php 中注册中间件

app/Http/Kernel.php 文件中的 $routeMiddleware 数组中注册新增的中间件:

protected $routeMiddleware = [
    // ... 其他中间件省略
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
];
Copier après la connexion
  1. 修改登录控制器

在登录控制器中,将登录成功后重定向的目标地址修改为 intended 方法,即可实现登录后跳转到用户之前访问的页面:

protected $redirectTo = '/dashboard';//删除这行
Copier après la connexion
public function login(Request $request)
{
    $this->validateLogin($request);

    if ($this->attemptLogin($request)) {
        // 登录成功后跳转到用户之前访问的页面
        return redirect()->intended('/dashboard');
    }

    $this->incrementLoginAttempts($request);

    return $this->sendFailedLoginResponse($request);
}
Copier après la connexion

4. 总结

在本文中,我们学习了在 Laravel 中实现登录后跳转需要进行哪些操作。首先,我们需要使用 Auth 中间件实现登录功能。然后,我们通过修改登录控制器中的 $redirectTo Créer un nouveau projet : laravel new project_name

Entrez le répertoire du projet : cd project_name

Démarrez le serveur intégré de Laravel : php artisan serve

Dans cet article, nous utiliserons la configuration par défaut pour le développement, si vous avez utilisé d'autres configurations, elle peut être légèrement différente. 🎜🎜2. Implémenter la fonction de connexion🎜🎜Il est très simple d'implémenter la fonction de connexion dans Laravel, il suffit d'utiliser le middleware Auth. Ajoutez les routes suivantes au fichier routes/web.php : 🎜rrreee🎜Ces deux routes correspondent respectivement à l'affichage de la page de connexion et au traitement de l'opération de connexion. Parmi elles, la méthode LoginController@showLoginForm est utilisée pour afficher le formulaire de connexion, et la méthode LoginController@login est utilisée pour traiter la demande de connexion soumise par l'utilisateur. 🎜🎜Si vous n'avez pas encore créé de LoginController, vous pouvez le créer rapidement avec la commande suivante : 🎜rrreee🎜Dans LoginController, vous pouvez utiliser le AuthenticatesUsers fourni par Laravel Le trait implémente rapidement la fonction de connexion. Introduisez simplement ce trait dans la classe : 🎜rrreee🎜Par défaut, après une connexion réussie, vous accéderez à la page /home, qui peut être modifiée dans AuthLoginController >$redirectTo Attribut pour spécifier la page vers laquelle l'utilisateur accédera après une connexion réussie. 🎜rrreee🎜3. Implémenter un saut après la connexion🎜🎜Il est également très simple d'implémenter un saut après la connexion dans Laravel Il vous suffit de modifier l'attribut $redirectTo dans le contrôleur de connexion. Cependant, si vous souhaitez accéder à la page visitée auparavant par l'utilisateur après une connexion réussie, vous devez procéder comme suit : 🎜🎜🎜Créer un middleware RedirectIfAuthenticated🎜Dans Créez le fichier <code>RedirectIfAuthenticated.php dans le répertoire app/Http/Middleware et ajoutez le code suivant : 🎜rrreee🎜La méthode intendue dans le code va essayer pour rediriger l'utilisateur vers l'emplacement où il a initialement demandé la page, ou par défaut vers le chemin spécifié s'il n'y a pas d'emplacement précédent. 🎜
    🎜Enregistrez le middleware dans app/Http/Kernel.php
🎜Dans app/Http/Kernel.php Enregistrez le nouveau middleware dans le tableau <code>$routeMiddleware dans le fichier : 🎜rrreee
    🎜Modifier le contrôleur de connexion
🎜En connexion Dans le contrôleur , modifiez l'adresse cible de redirection après une connexion réussie vers la méthode prévue, afin qu'après la connexion, vous puissiez accéder à la page que l'utilisateur a visitée auparavant : 🎜rrreeerrreee🎜Résumé🎜🎜Dans cet article, nous avons appris. quelles opérations sont nécessaires pour implémenter le saut après la connexion à Laravel. Tout d’abord, nous devons utiliser le middleware Auth pour implémenter la fonction de connexion. Ensuite, nous implémentons le saut après la connexion en modifiant l'attribut $redirectTo dans le contrôleur de connexion. Enfin, nous créons un middleware et modifions le code dans le contrôleur de connexion pour accéder à la page que l'utilisateur a visitée auparavant après s'être connecté. 🎜🎜J'espère que cet article pourra vous aider à implémenter facilement la fonction de saut post-connexion dans Laravel ! 🎜

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quel est le meilleur, Django ou Laravel? Quel est le meilleur, Django ou Laravel? Mar 28, 2025 am 10:41 AM

Django et Laravel sont tous deux des frameworks à pile. Django convient aux développeurs Python et à la logique métier complexe, tandis que Laravel convient aux développeurs PHP et à la syntaxe élégante. 1.Django est basé sur Python et suit la philosophie "Battery-Complete", adaptée au développement rapide et à une grande concurrence. 2.Laravel est basé sur PHP, mettant l'accent sur l'expérience du développeur et convient aux projets de petite et moyenne taille.

Laravel et le backend: alimentation logique d'application Web Laravel et le backend: alimentation logique d'application Web Apr 11, 2025 am 11:29 AM

Comment Laravel joue-t-il un rôle dans la logique backend? Il simplifie et améliore le développement backend par le biais de systèmes de routage, d'éloquente, d'authentification et d'autorisation, d'événements et d'auditeurs et d'optimisation des performances. 1. Le système de routage permet la définition de la structure d'URL et demande la logique de traitement. 2.Lao-éloquente simplifie l'interaction de la base de données. 3. Le système d'authentification et d'autorisation est pratique pour la gestion des utilisateurs. 4. L'événement et l'écoute implémentent la structure de code couplée de manière lâche. 5. L'optimisation des performances améliore l'efficacité de l'application par la mise en cache et la file d'attente.

Quel est le meilleur PHP ou Laravel? Quel est le meilleur PHP ou Laravel? Mar 27, 2025 pm 05:31 PM

PHP et Laravel ne sont pas directement comparables, car Laravel est un cadre basé sur PHP. 1.Php convient aux petits projets ou à un prototypage rapide car il est simple et direct. 2. Laravel convient à de grands projets ou à un développement efficace car il offre des fonctions et des outils riches, mais a une courbe d'apprentissage abrupte et peut ne pas être aussi bon que PHP pur.

Laravel est-il un frontend ou un backend? Laravel est-il un frontend ou un backend? Mar 27, 2025 pm 05:31 PM

LaravelisabackendFrameworkBuiltonPhp, conçue pourwebapplicationdevelopment.itfocusonServer-sidelogic, databasemanagement, andapplicationsstructure, andcanbenegrategratedwithfrontentechnologies likevue.jsorrectForfull-stackdevelopment.

Exemple d'introduction de Laravel Exemple d'introduction de Laravel Apr 18, 2025 pm 12:45 PM

Laravel est un cadre PHP pour la création facile des applications Web. Il fournit une gamme de fonctionnalités puissantes, notamment: Installation: Installez le Laravel CLI globalement avec Composer et créez des applications dans le répertoire du projet. Routage: définissez la relation entre l'URL et le gestionnaire dans Routes / web.php. Voir: Créez une vue dans les ressources / vues pour rendre l'interface de l'application. Intégration de la base de données: fournit une intégration prête à l'emploi avec des bases de données telles que MySQL et utilise la migration pour créer et modifier des tables. Modèle et contrôleur: le modèle représente l'entité de la base de données et le contrôleur traite les demandes HTTP.

Polyvylity de Laravel: des sites simples aux systèmes complexes Polyvylity de Laravel: des sites simples aux systèmes complexes Apr 13, 2025 am 12:13 AM

Le projet de développement de Laravel a été choisi en raison de sa flexibilité et de sa puissance pour répondre aux besoins de différentes tailles et complexités. Laravel fournit un système de routage, Eloquentorm, une ligne de commande artisanale et d'autres fonctions, soutenant le développement de blogs simples aux systèmes complexes au niveau de l'entreprise.

Comment apprendre Laravel comment apprendre Laravel gratuitement Comment apprendre Laravel comment apprendre Laravel gratuitement Apr 18, 2025 pm 12:51 PM

Vous voulez apprendre le cadre de Laravel, mais ne souffrez pas de ressources ni de pression économique? Cet article vous fournit un apprentissage gratuit de Laravel, vous apprenant à utiliser des ressources telles que les plateformes en ligne, les documents et les forums communautaires pour jeter une base solide pour votre parcours de développement PHP de la mise en place de maîtrise.

Pourquoi Laravel est-il si populaire? Pourquoi Laravel est-il si populaire? Apr 02, 2025 pm 02:16 PM

La popularité de Laravel comprend son processus de développement simplifié, offrant un environnement de développement agréable et des caractéristiques riches. 1) Il absorbe la philosophie de conception des rubyonrails, combinant la flexibilité de PHP. 2) Fournir des outils tels que l'éloquente, le moteur de modèle de lame, etc. pour améliorer l'efficacité du développement. 3) Son mécanisme d'architecture MVC et d'injection de dépendance rend le code plus modulaire et testable. 4) fournit des outils de débogage puissants et des méthodes d'optimisation des performances telles que les systèmes de mise en cache et les meilleures pratiques.

See all articles