假设我们在laravel的Forms
文件夹中有一个public
目录。
现在我想只有经过身份验证的用户才能访问该用户,并且如果未经授权的用户想要打开该目录或其中一个子目录(例如图像,视频等),则会显示错误消息。
我添加了这样的路由组,但无法正常工作:
Route::group(['prefix' => 'Forms', 'middleware' => 'auth'], function () {
// what Can I do here ?
});
我能为此做些什么?
答案 0 :(得分:1)
我想说如果要隐藏用户的内容,则需要使用本地磁盘而不是公用文件夹。看看这里 https://laravel.com/docs/5.3/filesystem
如果你想限制目录,你可以使用通配符路径
代表
Route::get('/forms/{path?}', function () {
if(!auth()->user()) {
return 'unauthorized';
}
// if authenticated try to look for the file with requested path and return its content
return File::get(public_path(ltrim($_SERVER['REQUEST_URI'],'/')));
})->where(['path' => '.*']);