Laravel存储身份验证检查

时间:2018-09-07 23:01:59

标签: php laravel laravel-5.6

我必须使用laravel 5.6从我的Web应用程序中下载一些文件,并且正在使用本地存储。

我的路由如downloads/{file}和auth中间件一样,并且运行正常。

laravel网站www.myweb.com/storage/files/ ...中的默认存储URL为

问题是,如果我使用路由www.myweb.com/downloads/foo.pdf,则说明控制器工作正常,必须登录才能下载文件 但是如果我从www.myweb.com/storage/files/foo.pdf访问,则可以看到文件而无需登录

我该如何解决?我应该创建另一个控制器或路由来处理此问题吗?

我应该创建一条类似

的路线吗
Route::get('/storage/files/{file}', 'FilesController@download')->middleware('auth');

1 个答案:

答案 0 :(得分:-1)

/storage/files已经是存储的实际路径。为避免冲突,将您的路线更改为其他路径

Route::get('/storage/files/{file}', 'FilesController@download')->middleware('auth');

更改为(样本)

Route::get('/files/{file}/download', 'FilesController@download')->middleware('auth');

然后在FilesController

中执行逻辑