【发布时间】:2017-09-26 21:23:39
【问题描述】:
我在一个名为 rolMiddleware 的中间件中获得了这个句柄:
public function handle($request, Closure $next, $roles)
{
//dd($request->user());
foreach ($roles as $rol) {
if ($request->user()->getTipoUsuario($request->user()->tipo_usuario_id)->getNombreTipoUsuario() == $rol) {
return $next($request);
}
}
abort(403, "¡No hay autorizacion!");
}
但是$roles是一个数组,这里是我使用中间件的路径:
Route::get('/mid', ['middleware' => 'roles:super admin', function () {
return "done";
}]);
给我的错误是:
ErrorException in RolMiddleware.php line 22:
Invalid argument supplied for foreach()
您可能会认为我不需要数组,因为我只在超级管理员中使用它,对于该路线我只需要超级管理员,但是会有一些路线可以用于超级管理员和区域管理员。
【问题讨论】:
标签: php laravel authentication middleware