laravel实战项目之登录中间件

344 阅读1分钟

一、登录中间件

中间件提供了一种方便的机制过滤进入应用程序的 HTTP 请求。

1.1 创建中间件

创建中间件命令:php artisan make:middleware 中间件名称 在这里插入图片描述 在这里插入图片描述


1.2 注册中间件

1.2.1 全局中间件

一旦注册全局生效 在这里插入图片描述


1.2.2 路由中间件

在这里插入图片描述 1、创建路由中间件 在$routeMiddleware中加上如下代码:

// 后台用户注册中间件
// 别名 类路径
'chadmin' => \App\Http\Middleware\CheckAdminLogin::class,

在这里插入图片描述


2、绑定路由中间件 (1) 绑定到指定的路由 在这里插入图片描述


(2)绑定到路由分组上面 在这里插入图片描述


(3)给控制器绑定 在这里插入图片描述


1.3 实现用户未登录拦截 删除控制器绑定拦截代码,这部分只是做演示。 接着在CheckAdminLogin.php中写入:

<?php

namespace App\Http\Middleware;

use Closure;

class CheckAdminLogin
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        // 用户是否登录检查
        if (!auth() ->check()) {
            return redirect(route('admin.login')) -> withErrors(['error' => '未登录,请登录']);
        }

        // 如果没有停止则向后执行
        return $next($request);
    }
}

在这里插入图片描述 接着我们直接在浏览器搜索框中输入http://laravelproject.com/admin/index 在这里插入图片描述 会看见跳转回登录页: 在这里插入图片描述


在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。