相关疑难解决方法(0)

如何在Laravel 5.2中将多个参数传递给具有OR条件的中间件

我正在尝试设置访问两个不同用户角色Admin,Normal_User的操作的权限,如下所示.

Route::group(['middleware' => ['role_check:Normal_User','role_check:Admin']], function() {
        Route::get('/user/{user_id}', array('uses' => 'UserController@showUserDashboard', 'as' => 'showUserDashboard'));
    });
Run Code Online (Sandbox Code Playgroud)

Admin或Normal_user可以访问此路由.但在此中间件配置中,用户必须同时是Admin和Normal_User.如何在中间件参数传递中添加OR条件?或者还有其他方法可以给予许可吗?

以下是我的中间件

public function handle($request, Closure $next, $role)
    {
        if ($role != Auth::user()->user_role->role ) {
            if ($request->ajax() || $request->wantsJson()) {
                return response('Unauthorized.', 401);
            } else {
                return response('Unauthorized.', 401);
            }
        }
        return $next($request);
    }
Run Code Online (Sandbox Code Playgroud)

有人可以回复吗?

laravel laravel-5.2

12
推荐指数
3
解决办法
9872
查看次数

标签 统计

laravel ×1

laravel-5.2 ×1