Guardian of laravel world-middleware
Middleware can filter requests. Here you can use middleware to verify whether the user is logged in. If the user is logged in, you can continue to perform the original operation. If you are not logged in, you will be redirected. Go to the login page and let the user log in first.
1. Define middleware
php artsian
make:middleware Command to create middleware, file path:
app\Http\Middleware\CheckToken.php
php artisan make:middleware CheckToken
<?php namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; class CheckToken { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle(Request $request, Closure $next) { //在这里做一个判断,如果token不是 'my-secret-token',则重定向 if ($request->input('token') !== 'my-secret-token') { return redirect('home'); } return $next($request); } }
2. Classification of middleware
Pre-middleware
<?php namespace App\Http\Middleware; use Closure; class BeforeMiddleware { public function handle($request, Closure $next) { ... // 应用请求之前执行一些任务 return $next($request); } }
- ##Post-middleware
<?php namespace App\Http\Middleware; use Closure; class AfterMiddleware { public function handle($request, Closure $next) { $response = $next($request); // 应用请求之后执行一些任务 return $response; } }
Copy after login
- Use middleware globally
//在app\Http\Kernel.php中的$middleware内添加 protected $middleware = [ // \App\Http\Middleware\TrustHosts::class, .... .... \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, //这是之前定义的 \App\Http\Middleware\CheckToken::class, ];
Copy after login
- Using middleware groups
//在app\Http\Kernel.php中的$middlewareGroups内添加 protected $middlewareGroups = [ 'web' => [ .... ], 'api' => [ .... ], 'diy' =>[ //可以在web组和api组中添加,也可以自己diy一个 ] ]; //路由中使用,RouteServiceProvider 默认将 web 和 api 中间件组自动应用到 routes/web.php 和 routes/api.php Route::get('/u', function () { })->middleware('diy');
Copy after login
- Using middleware individuallyRelated video tutorial recommendations: Laravel
protected $routeMiddleware = [ ..., 'myself'=> \App\Http\Middleware\CheckToken::class, ]; Route::get('/user', function () { // })->middleware('myself');
Copy after loginThe above is the detailed content of Guardian of laravel world-middleware. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Laravel - Artisan Commands - Laravel 5.7 comes with new way of treating and testing new commands. It includes a new feature of testing artisan commands and the demonstration is mentioned below ?

Laravel - Artisan Console - Laravel framework provides three primary tools for interaction through command-line namely: Artisan, Ticker and REPL. This chapter explains about Artisan in detail.

Laravel - Pagination Customizations - Laravel includes a feature of pagination which helps a user or a developer to include a pagination feature. Laravel paginator is integrated with the query builder and Eloquent ORM. The paginate method automatical

Method for obtaining the return code when Laravel email sending fails. When using Laravel to develop applications, you often encounter situations where you need to send verification codes. And in reality...

Laravel schedule task run unresponsive troubleshooting When using Laravel's schedule task scheduling, many developers will encounter this problem: schedule:run...

The method of handling Laravel's email failure to send verification code is to use Laravel...

How to implement the table function of custom click to add data in dcatadmin (laravel-admin) When using dcat...

Laravel - Dump Server - Laravel dump server comes with the version of Laravel 5.7. The previous versions do not include any dump server. Dump server will be a development dependency in laravel/laravel composer file.
