中間件(middleware)和授權(quán)策略(Policy)

中間件的創(chuàng)建

1. 使用命令創(chuàng)建中間件

php artisan make:middleware CheckIFVerify
  • 執(zhí)行以上命令會在“App\Http\Middleware\”文件創(chuàng)建CheckIFVerify.php
  • CheckIFVerify.php文件中有handle()方法丁稀,在此方法中編寫校驗規(guī)則
//可以使用$request->user()獲取當(dāng)前登錄對象耻涛。使用$request->user()->email獲取當(dāng)前對象屬性值。
public function handle($request, Closure $next)
{
      //返回下個中間件
      return $next($request);
}

2.注冊中間件

  • 中間件只有注冊之后才能使用
  • 注冊是在"App\Http\kernel.php"文件中的$routeMiddleware屬性中
protected $routeMiddleware = [
  //  ‘中間名稱’ => 中間件路徑
  ‘CheckIFEmail’ => App\Http\Middleware\CheckIFVerify::class,
  ];

中間件使用

1.在路由中使用

Route::get(['middleware' => 'CheckIFEmail'],function(){
  //在此寫需要經(jīng)過中間件校驗的路由

});

2.在控制器中的__construct方法中寫:

public function __construct()
{
  $this->middleware('中間件名稱',[
      'except' => ['show','create','store']
  ]);
{
  • 中間件是在控制器的構(gòu)造器方法中調(diào)用砚亭,middleware方法接收兩個參數(shù)
    1. 中間件名稱
    2. 過濾方法名稱的數(shù)組(except是除那些方法不用使用中間件過濾宫患,還有與之相反作用的only方法)
    3. 指定一些只允許未登錄用戶訪問的動作剂碴,通過設(shè)置guest屬性
     public function __construct()
     {
         $this->middleware('guest', [
             'only' => ['create']
         ]);
     }
    

授權(quán)策略的作用

  • 當(dāng)用戶完成登錄之后咸这,要限制已登錄用戶操作其他用戶的信息

授權(quán)策略的使用

  • 可以使用命令生成授權(quán)策略類文件

php artisan make:policy Userpolicy

  • 授權(quán)策略文件存放在app\Policies文件夾下
  • 在授權(quán)策略文件中定義方法(此方法中不用傳第一個參數(shù)痒蓬,框架會自動加載當(dāng)前登錄用戶)
  public function update(User $currentUser, User $user)
    {
        return $currentUser->id === $user->id;
    }
  • 在AuthServiceProvider(app/Providers)類中對授權(quán)策略設(shè)置,在policies屬性中指定授權(quán)策略,例如:
protected $policies = [
        'App\Model' => 'App\Policies\ModelPolicy',
        \App\Models\User::class  => \App\Policies\UserPolicy::class,
    ];
  • 在控制器中是用授權(quán)策略方法
$this->authorize('update',$user);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贮勃,一起剝皮案震驚了整個濱河市贪惹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌寂嘉,老刑警劉巖奏瞬,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異泉孩,居然都是意外死亡硼端,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門寓搬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來珍昨,“玉大人,你說我怎么就攤上這事句喷×偷洌” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵唾琼,是天一觀的道長兄春。 經(jīng)常有香客問我,道長锡溯,這世上最難降的妖魔是什么赶舆? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任哑姚,我火速辦了婚禮,結(jié)果婚禮上芜茵,老公的妹妹穿的比我還像新娘叙量。我一直安慰自己,他們只是感情好夕晓,可當(dāng)我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布宛乃。 她就那樣靜靜地躺著,像睡著了一般蒸辆。 火紅的嫁衣襯著肌膚如雪征炼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天躬贡,我揣著相機與錄音谆奥,去河邊找鬼。 笑死拂玻,一個胖子當(dāng)著我的面吹牛酸些,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播檐蚜,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼魄懂,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了闯第?” 一聲冷哼從身側(cè)響起市栗,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎咳短,沒想到半個月后填帽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡咙好,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年篡腌,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勾效。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡嘹悼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出层宫,到底是詐尸還是另有隱情绘迁,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布卒密,位于F島的核電站缀台,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏哮奇。R本人自食惡果不足惜膛腐,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一睛约、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧哲身,春花似錦辩涝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至脯丝,卻和暖如春商膊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宠进。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工晕拆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人材蹬。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓实幕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親堤器。 傳聞我的和親對象是個殘疾皇子昆庇,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 中間件(Middleware)作為Http請求(Request)和Http響應(yīng)(Response)之間的中間人,本...
    JunChow520閱讀 2,638評論 0 1
  • 1闸溃、第八章 Samba服務(wù)器2整吆、第八章 NFS服務(wù)器3、第十章 Linux下DNS服務(wù)器配站點圈暗,域名解析概念命令:...
    哈熝少主閱讀 3,734評論 0 10
  • 本人眼拙,對于本書作者公孫策了解尚淺裕膀。直接切入主題吧员串。 ①正所謂,遇事時聰明的人把血液聚集在頭腦昼扛,以便冷靜的思考問...
    春風(fēng)涼意閱讀 334評論 0 1
  • 多少年以后寸齐,你是否還會記得這個陽光的午后?
    兔子前輩閱讀 364評論 0 1
  • “每個背井離鄉(xiāng)的人,都是一個夢想家蛹含,但是夢碎了毅厚,就只剩下想家了” 網(wǎng)上看到的一句話,那一瞬間浦箱,心里泛著酸楚吸耿。 昨天...
    丶呆猴閱讀 305評論 0 0