Home > Article > PHP Framework > How to implement the jump function after login in laravel
Laravel is currently the most widely used PHP web framework. Its login function is very commonly used, and jumping to a specified page after successful login is also one of the common requirements. This article will introduce in detail how to implement the jump function after login in Laravel.
If you have not installed Laravel, you can follow the following steps to install it:
composer global require laravel/installer
laravel new project_name
cd project_name
php artisan serve
In this article, we will use the default configuration for development, if you have used other configurations, it may be slightly different.
It is very simple to implement the login function in Laravel, you only need to use the Auth
middleware. Add the following routes to the routes/web.php
file:
Route::get('/login', 'LoginController@showLoginForm')->name('login'); Route::post('/login', 'LoginController@login');
These two routes correspond to the display of the login page and the processing of the login operation respectively. Among them, the LoginController@showLoginForm
method is used to display the login form, and the LoginController@login
method is used to process the login request submitted by the user.
If you have not created LoginController
, you can quickly create it with the following command:
php artisan make:controller LoginController
In LoginController
, you can use the ## provided by Laravel #AuthenticatesUsers trait quickly implements login functionality. Just introduce this trait in the class:
use AuthenticatesUsers; public function __construct() { $this->middleware('guest')->except('logout'); }By default, after successful login, you will jump to the
/home page, which can be found in
Auth\LoginController Modify the
$redirectTo attribute to specify the page that the user will jump to after successful login.
protected $redirectTo = '/dashboard';//修改为你要跳转的路径3. Implementing a jump after loginIt is also very simple to implement a jump after login in Laravel. You only need to modify the
$redirectTo attribute in the login controller. Can. However, if you want to jump to the page the user visited before after successful login, you need to do the following:
middleware
RedirectIfAuthenticated.php file in the
app/Http/Middleware directory, and add the following code:
intended
<?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); } }
code Will attempt to redirect the user to the location where they originally requested the page, or default to the specified path if there is no previous location.
app/Http/Kernel.php Register the new middleware in the
$routeMiddleware array in the file:
protected $routeMiddleware = [ // ... 其他中间件省略 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, ];
intended method, which can jump to the page the user visited before after login:
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. Summary In this article, we learned what operations are needed to implement jump after login in Laravel. First, we need to use
Auth middleware to implement the login function. Then, we implement the jump after login by modifying the
$redirectTo attribute in the login controller. Finally, we create middleware and modify the code in the login controller to jump to the page the user visited before after logging in.
The above is the detailed content of How to implement the jump function after login in laravel. For more information, please follow other related articles on the PHP Chinese website!