Laravel 中间件数组
Laravel middlware array
我正在使用 Laravel。
我想将一个数组传递到我 api 中的中间件,这样我就可以检查用户是否具有特定角色。这是我的想法:
public function handle($request, Closure $next,$role)
{
$employee = Employee::find($request->parameters[0]['userid']);
foreach($role as $r) {
if (!$employee->hasRole($employee, $r)) {
return response()->json([
'result' => [
'message' => 'Error creating Employee'
]
], 500);
}
}
return $next($request);
}
但是我怎样才能将 an 传递给我的中间件。现在我正在这样做:
Route::group(['middleware' => 'role:Administrator,intern'], function () {
});
您只能将字符串作为中间件参数传递,但您可以使用 PHP 使用 explode 将字符串转换为数组:
public function handle($request, Closure $next, $role)
{
$employee = Employee::find($request->parameters[0]['userid']);
foreach(explode(',', $role) as $r) {
if (!$employee->hasRole($employee, $r)) {
return response()->json([
'result' => [
'message' => 'Error creating Employee'
]
], 500);
}
}
return $next($request);
}
我正在使用 Laravel。
我想将一个数组传递到我 api 中的中间件,这样我就可以检查用户是否具有特定角色。这是我的想法:
public function handle($request, Closure $next,$role)
{
$employee = Employee::find($request->parameters[0]['userid']);
foreach($role as $r) {
if (!$employee->hasRole($employee, $r)) {
return response()->json([
'result' => [
'message' => 'Error creating Employee'
]
], 500);
}
}
return $next($request);
}
但是我怎样才能将 an 传递给我的中间件。现在我正在这样做:
Route::group(['middleware' => 'role:Administrator,intern'], function () {
});
您只能将字符串作为中间件参数传递,但您可以使用 PHP 使用 explode 将字符串转换为数组:
public function handle($request, Closure $next, $role)
{
$employee = Employee::find($request->parameters[0]['userid']);
foreach(explode(',', $role) as $r) {
if (!$employee->hasRole($employee, $r)) {
return response()->json([
'result' => [
'message' => 'Error creating Employee'
]
], 500);
}
}
return $next($request);
}