Существует несколько способов решения этой проблемы, и я бы использовал, чтобы сохранить все изображения в вашей папке resources/assets/
за пределами общей папки.
Теперь вы можете создать маршрут следующим образом:
Route::get('images/{file}', 'ImageController@getImage')->where('file', '.*');
А теперь в вашем ImageController
вы можете проверить, вошел ли пользователь в систему. Если это так, вы можете загрузить изображение из папки ресурсов и отправить его в ответном файле. Если они не вошли в систему, они не смогут получить доступ к файлу.