本文實(shí)例講述了Laravel框架基于中間件實(shí)現(xiàn)禁止未登錄用戶(hù)訪問(wèn)頁(yè)面功能。分享給大家供大家參考,具體如下:
1、生成中間件
[root@localhost MRedis]# php artisan make:middleware CheckLogin Middleware created successfully.
2、實(shí)現(xiàn)中間件,在app\http\middleware\CheckLogin.php
public function handle($request, Closure $next) { if (!session('user')) { return redirect('login'); } return $next($request); }
3、注冊(cè)中間件,在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, 'check.login' => \App\Http\Middleware\CheckLogin::class, // 這一行 ];
4、使用中間件(一定要把登錄路由的放在外面)
Route::group(['middleware' => 'check.login'], function() {內(nèi)部為,不想讓未登錄用戶(hù)進(jìn)的路由}
5、成功
希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。