【问题标题】:Laravel storage auth checkLaravel 存储授权检查
【发布时间】:2018-09-21 12:49:24
【问题描述】:

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

我有像downloads/{file} 这样的路由和身份验证中间件,它工作正常。

存储 url 是来自 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');

【问题讨论】:

    标签: php laravel laravel-5.6


    【解决方案1】:

    /storage/files 已经是存储的实际路径。为了避免冲突改变你的路线到其他路径

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

    更改为(示例)

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

    然后在FilesController中做你的逻辑

    【讨论】:

    • 这是我已经拥有的。我需要限制 /storage/files/....
    猜你喜欢
    • 2016-12-27
    • 2019-12-21
    • 2017-05-24
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 2018-06-24
    • 2018-11-20
    • 1970-01-01
    相关资源
    最近更新 更多