Laravel 7.6中间件的使用

2020-05-02   阅读:436   分类:后端    标签: Laravel

Laravel 7.6中间件的使用,结合路由轻松实现登录。

中间件提供了一种方便的机制过滤进入应用程序的 HTTP 请求。例如,Laravel 包含一个验证用户身份的中间件。 如果用户未能通过认证,中间件会把用户重定向到登录页面。 反之,用户如果通过验证, 中间件将把请求进一步转发到应用程序中。

当然,除了验证身份外,还可以编写其他的中间件来执行各种任务。例如:CORS 中间件可以负责为所有的应用返回的 responses 添加合适的响应头。日志中间件可以记录所有传入应用的请求。

Laravel 自带了一些中间件,包括身份验证、CSRF 保护等。所有的这些中间件都位于 app/Http/Middleware 目录。


本文主要以 laravel 7.6 版本下,使用中间件 Middleware 和路由 routes实现登录。

1、创建登录中间件 app\Http\Middleware\checkLogin.php


<?php

namespace App\Http\Middleware;

use Closure;

class checkLogin
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if(session()->get('user')){
            return $next($request);
        }else{
            return redirect(route('admin.login.index'))->with("errors",'请先登录');
        }
        return $next($request);
    }
}

?>

2、注册中间件 app\Http\Kernel.php 修改

'checkLogin' => \App\Http\Middleware\checkLogin::class,


image.png


3、为路由分配中间件 ->middleware(['checkLogin'])

Route::name("admin.")->middleware(['checkLogin'])->group(function () {
    Route::get('/admin', 'Pass\IndexController@index')->name('index.index'); //后台首页

});


【腾讯云】11.11 云上盛惠,云产品限时抢购,1核2G云服务器首年88元

‘简忆博客’微信公众号 扫码关注‘简忆博客’微信公众号,获取最新文章动态
转载:请说明文章出处“来源简忆博客”。http://www.tpxhm.com/adetail/314.html

×
觉得文章有用就打赏一下文章作者
微信扫一扫打赏 微信扫一扫打赏
支付宝扫一扫打赏 支付宝扫一扫打赏

文章评论(0)

登录
简忆博客壁纸 头像

简忆博客
仕而优则学,学而优则仕。

置顶推荐

打赏本站

如果你觉得本站很棒,可以通过扫码支付打赏哦!
微信扫码:你说多少就多少~
微信扫码
支付宝扫码:你说多少就多少~
支付宝扫码
×