laravel自定義實現middleware中間件

Laravel中間件實現的目的是過濾http請求,如果通過了過濾就會往下執(zhí)行。
1、先生成一個數據庫遷移

php artisan make:migration user_table_is_admin;

2、編輯數據庫遷移文件

class userTableIsAdmin extend Migration{
        public function up(){
                   Schema::create("users",function(Blueprient $table)){
                                $table->boolean('isAdmin')->default(0);
                    }
        }
        public function down(){
                  Schema::drop("users");
        }
}

3、生成中間件

php artisan make:middleware isAdminMiddleWare

4、編輯中間件內容

class isAdminMiddleWare{
         public function handle($request,Closure $next){
                if(Auth::guest()||!Auth::user()->isAdmin()){
                       return redirect('/',301)->with('message','login')
                }
                return   $next($request);
          }
}

5、把中間件添加到app/http/Kernel.php中

protect $routeMiddleWares=[
        '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,
        'admin' => \App\Http\Middleware\AdminMiddleware::class,
]
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容