laravel实战项目之登录中间件

本文目录

  • 一、登录中间件
    • 1.1 创建中间件
    • 1.2 注册中间件
      • 1.2.1 全局中间件
      • 1.2.2 路由中间件

一、登录中间件

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

1.1 创建中间件

创建中间件命令:php artisan make:middleware 中间件名称
在这里插入图片描述
laravel实战项目之登录中间件_第1张图片


1.2 注册中间件

1.2.1 全局中间件

一旦注册全局生效
laravel实战项目之登录中间件_第2张图片


1.2.2 路由中间件

laravel实战项目之登录中间件_第3张图片
1、创建路由中间件
$routeMiddleware中加上如下代码:

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

laravel实战项目之登录中间件_第4张图片


2、绑定路由中间件
(1) 绑定到指定的路由
laravel实战项目之登录中间件_第5张图片


(2)绑定到路由分组上面
laravel实战项目之登录中间件_第6张图片


(3)给控制器绑定
laravel实战项目之登录中间件_第7张图片


1.3 实现用户未登录拦截
删除控制器绑定拦截代码,这部分只是做演示。
接着在CheckAdminLogin.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);
    }
}

laravel实战项目之登录中间件_第8张图片
接着我们直接在浏览器搜索框中输入http://laravelproject.com/admin/index
在这里插入图片描述
会看见跳转回登录页:
laravel实战项目之登录中间件_第9张图片


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

你可能感兴趣的:(laravel实战项目,PHP,laravel,php)