濮阳杆衣贸易有限公司

主頁 > 知識庫 > laravel利用中間件做防非法登錄和權(quán)限控制示例

laravel利用中間件做防非法登錄和權(quán)限控制示例

熱門標(biāo)簽:太原極信防封電銷卡 南寧crm外呼系統(tǒng)平臺 天津營銷電話機(jī)器人加盟代理 格陵蘭島地圖標(biāo)注 電銷招聘機(jī)器人 福泉電話機(jī)器人 事業(yè)單位如何百度地圖標(biāo)注 熱線電話機(jī)器人 地圖標(biāo)注入哪個(gè)科目

laravel框架的中間件非常好用,使得我們的防非法和rbac可以簡單快速的實(shí)現(xiàn)

中間件就是控制路由的訪問,進(jìn)行分類并統(tǒng)一管理

1、首先我們打開artisan輸入下面的命令行,創(chuàng)建一個(gè)中間件文件

php artisan make:middleware AdminLogin

執(zhí)行命令后我們會發(fā)現(xiàn)Middleware文件夾會多出一個(gè)AdminLogin文件

2、然后我們打開kernel.php,將這個(gè)中間件加入到路由中間件中

 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,
  ];

可以看到我們在這個(gè)數(shù)組用一個(gè)下標(biāo)為admin.login指向了這個(gè)中間節(jié)類

3、然后在路由上將這個(gè)中間件加入關(guān)聯(lián)上

Route::group(['middleware' => ['web','admin.login.login']], function () {
 
  Route::get('/admin/login/login','Admin\LoginController@login');
  //登錄頁面
  Route::get('/admin/index/index','Admin\IndexController@index'); 
 
  //后臺首頁路由
 
 
});

這里一定要將登錄的路由和后臺路由放到一個(gè)關(guān)聯(lián)中間件中,只有放到同一個(gè)中間件中,session才能共用

4、最后我們在Middleware下的AdminLogin.php中修改一下原本的代碼

在這里我們做一個(gè)簡單的小判斷,判斷一下有沒有session存在,如果有的話就直接走我們現(xiàn)在訪問的路由,如果沒有session就給他重定向到登錄頁面

一個(gè)簡單的防非法登錄就可以用了

這種方法我們也可以拿來做rbac,也是建立一個(gè)中間件,進(jìn)行session判斷,查庫中該管理員是否對有該權(quán)限訪問該路由

此時(shí)您可能會用到

$route = $request->path();

他的作用就是獲取到你當(dāng)前訪問的路由再進(jìn)行判斷可不可以訪問

以上這篇laravel利用中間件做防非法登錄和權(quán)限控制示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • laravel在中間件內(nèi)生成參數(shù)并且傳遞到控制器中的2種姿勢
  • 淺談Laravel中的三種中間件的作用
  • Laravel獲取當(dāng)前請求的控制器和方法以及中間件的例子
  • Laravel框架控制器的middleware中間件用法分析
  • laravel利用中間件防止未登錄用戶直接訪問后臺的方法
  • Laravel 6 將新增為指定隊(duì)列任務(wù)設(shè)置中間件的功能
  • laravel框架中間件 except 和 only 的用法示例
  • Laravel5.1框架注冊中間件的三種場景詳解
  • 淺談laravel中間件的創(chuàng)建思路

標(biāo)簽:寶雞 郴州 佳木斯 阿克蘇 金華 香港 自貢 通化

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《laravel利用中間件做防非法登錄和權(quán)限控制示例》,本文關(guān)鍵詞  laravel,利用,中間件,做防,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《laravel利用中間件做防非法登錄和權(quán)限控制示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于laravel利用中間件做防非法登錄和權(quán)限控制示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    三亚市| 进贤县| 安阳县| 聂拉木县| 庄河市| 襄城县| 盐边县| 比如县| 祁东县| 南召县| 庄河市| 玉门市| 洞头县| 海林市| 德格县| 肃南| 合川市| 惠州市| 纳雍县| 扎鲁特旗| 改则县| 怀宁县| 旌德县| 尉氏县| 赣州市| 当阳市| 巫溪县| 偃师市| 阳高县| 顺义区| 正镶白旗| 临安市| 聂荣县| 涟源市| 东城区| 宜宾市| 瑞金市| 遂溪县| 乌审旗| 莱州市| 黄梅县|