這篇文章主要介紹了關於laravel中介軟體的使用,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
laravel中介軟體的使用:
建立中介軟體命令
php artisan make:middleware CheckLogin
執行完以上命令會在app/Http/Middleware目錄下建立一個新的中介軟體類CheckLogin.php。
建立完以後還需要註冊中介軟體在app/Http/Kernel.php中:
protected $routeMiddleware = [ '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, //這就是新註冊的中介軟體 'checklogin' => \App\Http\Middleware\CheckLogin::class, ];
可以在剛建立的中介軟體裡寫驗證如下:
<?phpnamespace App\Http\Middleware;use Closure;use Illuminate\Support\Facades\Session;class CheckLogin{ /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $userid = Session::get('_userid'); $login_sts = Session::get('_login_sts'); if (empty($userid) || empty($login_sts)){ return response()->view('admin/login'); } return $next($request); }}
接著就是怎麼使用中介軟體功能了
Route::group(['namespace'=>'Admin','middleware'=>'checklogin'],function (){ Route::get('admins','IndexController@index'); Route::get('logout','IndexController@logout');});
這裡直接使用的是路由群組,只要把路由放在群組之中都會經過這個驗證,[‘namespace’=>’Admin’]是命名空間,[‘middleware’=>’checklogin’]這就是中介軟體驗證,之前註冊時註冊名為checklogin,所以middleware後直接寫checklogin就可以了。
以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!