您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關laravel利用中間件做防非法登錄和權限控制,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
1、首先我們打開artisan輸入下面的命令行,創建一個中間件文件
php artisan make:middleware AdminLogin
執行命令后我們會發現Middleware文件夾會多出一個AdminLogin文件
2、然后我們打開kernel.php,將這個中間件加入到路由中間件中
protected $routeMiddleware = [ 'auth' => \App\Http\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'admin.login' => \App\Http\Middleware\AdminLogin::class, ];
可以看到我們在這個數組用一個下標為admin.login指向了這個中間節類
3、然后在路由上將這個中間件加入關聯上
Route::group(['middleware' => ['web','admin.login.login']], function () { Route::get('/admin/login/login','Admin\LoginController@login'); //登錄頁面 Route::get('/admin/index/index','Admin\IndexController@index'); //后臺首頁路由 });
這里一定要將登錄的路由和后臺路由放到一個關聯中間件中,只有放到同一個中間件中,session才能共用
4、最后我們在Middleware下的AdminLogin.php中修改一下原本的代碼
在這里我們做一個簡單的小判斷,判斷一下有沒有session存在,如果有的話就直接走我們現在訪問的路由,如果沒有session就給他重定向到登錄頁面
一個簡單的防非法登錄就可以用了
這種方法我們也可以拿來做rbac,也是建立一個中間件,進行session判斷,查庫中該管理員是否對有該權限訪問該路由
此時您可能會用到
$route = $request->path();
關于laravel利用中間件做防非法登錄和權限控制就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。