gpt4 book ai didi

php - 通过 Auth Controller 保护 Assets /媒体文件夹?拉维尔 5.2

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:39:21 24 4
gpt4 key购买 nike

我有公共(public)/ Assets /媒体/文件夹

我可以像下面这样公开访问这个文件。

http://localhost/myapp/public/Asset/Media/1/phpunit.xml

同样,Asset/Media 文件夹中还有其他文件夹正在运行中创建。

这些子文件夹中也有许多文件, Assets /媒体文件夹中也有很多文件

有没有什么办法,如果我尝试访问 Assets /媒体文件夹中的任何文件或 Assets /媒体文件夹的子文件夹中存在的任何文件,我应该被重定向到登录页面,因为没有完成身份验证?

我的意思是,我可以使用 Auth 中间件来保护这个文件夹吗?如果是这样,如果我们必须从 Android 应用程序访问文件,这是一种有效的方法吗?

最佳答案

如果你想保护文件,他们需要通过 Laravel。像您一样访问文件(使用完整路径)不会通过 Laravel。您可以通过创建路线来实现此目的:

Route::group(['middleware' => ['auth']], function () {
Route::get('/secure/file/{file_name}', 'FileController@file');
}

然后,创建一个Controller来访问文件,这样你就可以使用Auth来检查访问权限。这也意味着您应该将文件放在一个不可访问的位置,并使用 Laravel 文件系统使用 PHP 访问该文件:

class FileController extends Controller {
public function file()
{
return Storage::get('path/to/phpunit.xml');
}
}

关于php - 通过 Auth Controller 保护 Assets /媒体文件夹?拉维尔 5.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37250454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com