小编Pav*_*mar的帖子

如何将数组参数传递给laravel中的中间件

我不知道 php 7 的语法我实际上是新手我正在尝试传递像 ['admin','user','cmc'] 这样的角色来路由中间件,如下所示我如何正确地做到这一点

这是我的路线

  Route::get('/dashboard','HomeController@dashboard')->name('dashboard')->middleware("roles:['admin','user']");
Run Code Online (Sandbox Code Playgroud)

//我如何在其中传递角色数组

//角色中间件

<?php

namespace App\Http\Middleware;

use Closure;
use App\Role;
use Illuminate\Support\Facades\Log;


class Roles
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next,$role)
    {
        Log::info($role);
        if($request->user()==null){
            return response('unauthorised Access detected',401);
        }
        //check for any role passed from array 
        if($request->user()->hasAnyRole($role)){
            return $next($request);
        }        
        return response('unauthorised Access detected',401);
    }
}
Run Code Online (Sandbox Code Playgroud)

//用户模型

<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-middleware

3
推荐指数
1
解决办法
1634
查看次数

标签 统计

laravel ×1

laravel-middleware ×1

php ×1