Мне нужно загрузить некоторые файлы из моего веб-приложения с laravel 5.6, и я использую локальное хранилище.
У меня есть маршруты вроде downloads/{file} с промежуточным ПО для аутентификации, и он работает правильно.
URL-адрес хранилища - это значение по умолчанию из laravel www.myweb.com/storage/files/ ...
дело в том, что если я использую маршрут www.myweb.com/downloads/foo.pdf, контроллер работает правильно, и я должен войти в систему, чтобы загрузить файл
но если я получаю доступ с www.myweb.com/storage/files/foo.pdf, я могу видеть файл без входа в систему
Как я могу это решить? я должен создать другой контроллер или маршрут, чтобы справиться с этим?
должен ли я создать такой маршрут, как
Route::get('/storage/files/{file}', 'FilesController@download')->middleware('auth');






/storage/files - это уже реальный путь к хранилищу. чтобы избежать конфликта, измените свой маршрут на другой путь
Route::get('/storage/files/{file}', 'FilesController@download')->middleware('auth');
изменить на (образец)
Route::get('/files/{file}/download', 'FilesController@download')->middleware('auth');
тогда сделайте свою логику в FilesController
Это то, что у меня уже есть. Мне нужно ограничить / storage / files / ....