laravel 加中间件的方法 防止直接打开后台

laravel 加中间件的方法 防止直接打开后台

路由 routes.php

Route::group(['middleware' => ['web','admin.login.login']], function () {

      //后台首页路由
    Route::get('/admin/index/index','AdminIndexController@index');
});

kernel.php

 protected $routeMiddleware = [
        'auth' => AppHttpMiddlewareAuthenticate::class,
        'auth.basic' => IlluminateAuthMiddlewareAuthenticateWithBasicAuth::class,
        'can' => IlluminateFoundationHttpMiddlewareAuthorize::class,
        'guest' => AppHttpMiddlewareRedirectIfAuthenticated::class,
        'throttle' => IlluminateRoutingMiddlewareThrottleRequests::class,
        'admin.login.login' => AppHttpMiddlewareAdminLogin::class,
        
    ];

artisan 创建中间件 cmd命令行中

php artisan make:middleware AdminLogin

Middleware AdminLogin.php

<?php

namespace AppHttpMiddleware;

use Closure;

class AdminLogin
{
    /**
     * Handle an incoming request.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if(!session('user')){
            return redirect('admin/login/login');
        }
        return $next($request);
    }
}