Я создаю приложение, в которое пользователь может загружать изображения.После того, как пользователь нажимает на свое загруженное изображение, laravel перенаправляет его на маршрут / images / {image_id}, где пользователь может получить подробную информацию о своем изображении и, возможно, удалить изображение, если захочет.Теперь проблема в том, что когда я вручную пишу этот маршрут в браузере с другим идентификатором изображения, принадлежащим другому изображению пользователя, тогда я могу открыть его представление с его загруженными деталями изображения.Как я могу заблокировать пользователя от этого маршрута, если это изображение не принадлежит ему?Маршрут в web.php:
Route::get('/images/{image_id}', 'ImageController@show');
Это метод в ImageController, который перенаправляет пользователя на просмотр изображения:
public function show($id){
$image = Image::findOrFail($id);
return view('user.show_image', compact('image'));
}
Это хороший вариант, чтобы попробовать что-то подобное:
public function show($id){
$image = Image::findOrFail($id);
if(Auth::user()->id != $image->user_id)
{
return redirect()->back();
}
return view('user.show_image', compact('image'));
}
.. или я должен использовать какое-то промежуточное программное обеспечение.Спасибо