現(xiàn)在有三個角色:總廠,中間商,客戶。我使用的框架為laravel框架我建立了三個中間件:BackendRole.php //功能:只允許總廠訪問ShopRole.php //功能:只允許中間商訪問ClientRole.php //功能:只允許客戶訪問·那么,如果我想實現(xiàn)單個端的權(quán)限控制,會很容易,只需(laravel路由處代碼)://只允許總廠訪問的路由組Route::middleware('BackendRole')->group(function () {
//一些路由...});·但,如果我想讓總廠和客戶同時能訪問,或者讓總廠和中間商同時能訪問,這種兩兩組合用這種方式實現(xiàn)起來就會比較困難。所以請問,像這種情況,應(yīng)該如何利用中間件來靈活控制訪問權(quán)限?
1 回答

哆啦的時光機
TA貢獻1779條經(jīng)驗 獲得超6個贊
推薦一種寫法,假設(shè)你的三種角色都是在一張表中,通過type值進行區(qū)分
$router->middleware('role:BackendRole,ShopRole')->group(function () { //一些路由...});
這種寫法,路由會將['BackendRole,ShopRole']當作參數(shù)傳入role中間件,你只要在中間件里判斷傳入的用戶的角色是否在這個數(shù)組即可。
添加回答
舉報
0/150
提交
取消