Comment implémenter la fonction de saut après la connexion dans Laravel
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 :
- Installez le programme d'installation de Laravel :
composer global require laravel/installer
- 创建新项目:
laravel new project_name
- 进入项目目录:
cd project_name
- 启动 Laravel 内置服务器:
php artisan serve
composer global require laravel/installer
在本文中,我们将使用默认配置进行开发,如果您使用了其他配置,可能会稍有不同。
2. 实现登录功能
在 Laravel 中实现登录功能非常简单,只需要使用 Auth
中间件即可。在 routes/web.php
文件中增加以下路由:
Route::get('/login', 'LoginController@showLoginForm')->name('login'); Route::post('/login', 'LoginController@login');
这两个路由分别对应登录页面的显示和登录操作的处理。其中,LoginController@showLoginForm
方法用于显示登录表单,LoginController@login
方法用于处理用户提交的登录请求。
如果您还没有创建 LoginController
,可以通过以下命令快速创建:
php artisan make:controller LoginController
在 LoginController
中,可以使用 Laravel 提供的 AuthenticatesUsers
trait 快速实现登录功能。只需要在类中引入此 trait 即可:
use AuthenticatesUsers; public function __construct() { $this->middleware('guest')->except('logout'); }
默认情况下,登录成功后会跳转到 /home
页面,可以在 AuthLoginController
中修改 $redirectTo
属性来指定用户登录成功后跳转的页面。
protected $redirectTo = '/dashboard';//修改为你要跳转的路径
3. 实现登录后跳转
在 Laravel 中实现登录后跳转也非常简单,只需要在登录控制器中修改 $redirectTo
属性即可。但是,如果您希望登录成功后跳转到用户之前访问的页面,那么需要进行以下操作:
- 创建
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); } }
代码中的 intended
方法会尝试将用户重定向到他们最初请求页面的位置,如果没有先前的位置,则默认重定向到指定的路径。
- 在
app/Http/Kernel.php
中注册中间件
在 app/Http/Kernel.php
文件中的 $routeMiddleware
数组中注册新增的中间件:
protected $routeMiddleware = [ // ... 其他中间件省略 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, ];
- 修改登录控制器
在登录控制器中,将登录成功后重定向的目标地址修改为 intended
方法,即可实现登录后跳转到用户之前访问的页面:
protected $redirectTo = '/dashboard';//删除这行
public function login(Request $request) { $this->validateLogin($request); if ($this->attemptLogin($request)) { // 登录成功后跳转到用户之前访问的页面 return redirect()->intended('/dashboard'); } $this->incrementLoginAttempts($request); return $this->sendFailedLoginResponse($request); }
4. 总结
在本文中,我们学习了在 Laravel 中实现登录后跳转需要进行哪些操作。首先,我们需要使用 Auth
中间件实现登录功能。然后,我们通过修改登录控制器中的 $redirectTo
Créer un nouveau projet : laravel new project_name
cd project_name
Démarrez le serveur intégré de Laravel : php artisan serve
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
app/Http/Kernel.php Enregistrez le nouveau middleware dans le tableau <code>$routeMiddleware
dans le fichier : 🎜rrreee- 🎜Modifier le contrôleur de connexion
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

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 !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds





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.

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.

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.

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

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.

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.

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.

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.
