久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

如何為路由 laravel 5 使用“OR"中間件

How to use #39;OR#39; middleware for route laravel 5(如何為路由 laravel 5 使用“OR中間件)
本文介紹了如何為路由 laravel 5 使用“OR"中間件的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我有兩種類型的用戶,我已經創建了多個中間件.

I've two types for user and I've created multiple middlewares.

有些路由需要允許兩種類型的用戶.

Some routes need to allow for both type of user.

我正在嘗試以下代碼:

Route::group(['namespace' => 'Common', 'middleware' => ['Auth1', 'Auth2']], function() {
    Route::get('viewdetail', array('as' => 'viewdetail', 'uses' => 'DashboardController@viewdetail'));
}); 

但它不起作用:(

推薦答案

中間件應該返回響應或將請求傳遞到管道中.中間件彼此獨立,不應該知道其他中間件在運行.

Middleware is supposed to either return a response or pass the request down the pipeline. Middlewares are independent of each other and shouldn't be aware of other middlewares run.

您需要實現一個單獨的中間件,允許 2 個角色或單個中間件,將允許的角色作為參數.

You'll need to implement a separate middleware that allows 2 roles or single middleware that takes allowed roles as parameters.

選項 1:只創建一個中間件是 Auth1 和 Auth2 的組合版本,用于檢查 2 種用戶類型.這是最簡單的選擇,雖然不是很靈活.

Option 1: just create a middleware is a combined version of Auth1 and Auth2 that checks for 2 user types. This is the simplest option, although not really flexible.

選項 2:由于 5.1 版 中間件可以接受參數 - 請在此處查看更多詳細信息:https://laravel.com/docs/5.1/middleware#middleware-parameters.您可以實現一個單一的中間件,該中間件將接受用戶角色列表進行檢查,并在您的路由文件中定義允許的角色.以下代碼應該可以解決問題:

Option 2: since version 5.1 middlewares can take parameters - see more details here: https://laravel.com/docs/5.1/middleware#middleware-parameters. You could implement a single middleware that would take list of user roles to check against and just define the allowed roles in your routes file. The following code should do the trick:

// define allowed roles in your routes.php
Route::group(['namespace' => 'Common', 'middleware' => 'checkUserRoles:role1,role2', function() {
  //routes that should be allowed for users with role1 OR role2 go here
}); 

// PHP < 5.6
// create a parametrized middleware that takes allowed roles as parameters
public function handle($request, Closure $next) {

  // will contain ['role1', 'role2']
  $allowedRoles = array_slice(func_get_args(), 2);

  // do whatever role check logic you need
}

// PHP >= 5.6
// create a parametrized middleware that takes allowed roles as parameters
public function handle($request, Closure $next, ...$roles) {

  // $roles will contain ['role1', 'role2']

  // do whatever role check logic you need
}

這篇關于如何為路由 laravel 5 使用“OR"中間件的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

add new element in laravel collection object(在 Laravel 集合對象中添加新元素)
Creating an edit modal in Laravel 5(在 Laravel 5 中創建編輯模式)
Laravel 5.5 API resources for collections (standalone data)(用于集合的 Laravel 5.5 API 資源(獨立數據))
What is the best practice to create a custom helper function in php Laravel 5?(在 php Laravel 5 中創建自定義輔助函數的最佳實踐是什么?)
No #39;Access-Control-Allow-Origin#39; header - Laravel(沒有“Access-Control-Allow-Origin標頭 - Laravel)
Laravel Passport Route redirects to login page(Laravel Passport Route 重定向到登錄頁面)
主站蜘蛛池模板: 在线免费黄色小视频 | 国产视频一区二区在线观看 | 日韩精品999 | 国产一级片免费在线观看 | 亚洲精品三级 | 国产乱码精品1区2区3区 | 日韩在线视频免费观看 | 午夜精品一区二区三区在线视频 | 午夜视频一区二区 | 精品国产乱码一区二区三区 | 国产精品视频网址 | 国产99热精品 | 99热这里都是精品 | 亚洲综合99| 一区二区影视 | 狠狠躁18三区二区一区 | 欧美特级黄色 | 欧美日韩久久久久 | a久久| 亚洲天天干| 国产精品久久久久久久久免费樱桃 | 中文字幕第二区 | 一级在线观看 | 三级av网址 | 福利一区在线观看 | 精品在线99 | 中文字幕一区在线观看视频 | 一级少妇女片 | 亚洲国产精品自拍 | 国产精品视频久久 | 日韩av中文 | 欧美群妇大交群中文字幕 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 色橹橹欧美在线观看视频高清 | 精品久久99 | 国产欧美精品 | 一区二区不卡视频 | 爱爱免费视频 | 羞羞的视频在线看 | 欧美mv日韩mv国产网站91进入 | 台湾佬伊人|