Maison >développement back-end >tutoriel php >Utilisation du middleware Laravel

Utilisation du middleware Laravel

不言
不言original
2018-07-05 15:13:371962parcourir

Cet article présente principalement l'utilisation du middleware laravel, qui a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Utilisation du middleware laravel :

Créer une commande middleware
php artisan make:middleware CheckLogin
Après avoir exécuté la commande ci-dessus, une nouvelle classe middleware CheckLogin.php sera créée dans le répertoire app/Http/Middleware.
Après la création, vous devez toujours enregistrer le middleware dans app/Http/Kernel.php :
 protected $routeMiddleware = [
        'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
        'can' => \Illuminate\Auth\Middleware\Authorize::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
        //这就是新注册的中间件
        'checklogin' => \App\Http\Middleware\CheckLogin::class,    ];
Vous pouvez écrire une vérification dans le middleware nouvellement créé comme suit :
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Session;
class CheckLogin{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $userid = Session::get(&#39;_userid&#39;);        
        $login_sts = Session::get(&#39;_login_sts&#39;);        
        if (empty($userid) || empty($login_sts)){            
        return response()->view(&#39;admin/login&#39;);
        }        
        return $next($request);
    }
}
La prochaine étape est de savoir comment utiliser la fonction middleware
Route::group([&#39;namespace&#39;=>&#39;Admin&#39;,&#39;middleware&#39;=>&#39;checklogin&#39;],function (){    
Route::get(&#39;admins&#39;,&#39;IndexController@index&#39;);    
Route::get(&#39;logout&#39;,&#39;IndexController@logout&#39;);});

Le groupe de routage est utilisé directement ici Tant que la route est placée dans le groupe, elle passera par cette vérification, ['namespace'=> ;'Admin'] est l'espace de noms, ['middleware'=>'checklogin'] est la vérification du middleware. Le nom d'enregistrement était checklogin lors de l'enregistrement précédent, il suffit donc d'écrire checklogin directement après le middleware.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Laravel Modifier le nom et l'emplacement du fichier journal par défaut

Utiliser la bibliothèque de plug-ins de l'API Laravel Dingo pour créer une méthode API

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:
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