Я хотел бы создать пользовательское промежуточное программное обеспечение, чтобы проверить, разрешено ли моему пользователю входить в класс. Маршруты, относящиеся к классной комнате, должны быть защищены промежуточным программным обеспечением ClassRoom, чтобы проверить разрешение пользователя перед перенаправлением на контроллеры.
Это группа маршрутов в классе:
Route::group(['prefix' => 'classroom/{classroom_id}', 'namespace' => 'Classroom', 'as' => 'classroom.'], function(){
Route::resource('dashboard', 'DashboardController')->only(['index', 'create', 'store']);
});
Это код для проверки разрешения:
$classroom = ClassRoom::findOrFail($classroom_id);
$ok = false;
foreach ($classroom->users as $classroom_user) {
if ($classroom_user->id == user()->id) {
$ok = true;
}
}
if (!$ok) {
return redirect()->route('user.classrooms.index');
}