node.js - 如何在 express js 中授予用户特定的文件访问权限
问题描述
我正在使用 express js 和 passport js 作为身份验证系统,也使用视图引擎。我正在寻找一种解决方案,可以让用户访问并让用户看到他们的文件,而不是其他人的文件。例如,在图像文件夹中,用户将访问他们的文件,之后,我想将这些文件传递给查看引擎。如果我使用公用文件夹,任何人都可以看到其中的每个文件。你推荐什么解决方案?
解决方案
您应该为每个用户创建一个目录。
那么,例如,您的网址是/show/files
在您的逻辑内部,按用户信息过滤目录。
app.get('/show/files', (req,res)=>{
// filter resources by user info
})
不要忘记为您的资源创建一个安全的 URL。
馊主意:/images/amin/profile.png
好主意:创建一条路线来服务您的资源。
app.get('/resources', (req,res)=>{
// add query parameter for resource for example profile.png
// then check user directory and send it
})
您的网址转换为
/resousrce?file=profile.png
推荐阅读
- python - 在输出中获取空列表
- oracle-apex - 404 Not Found - 当我在安装后尝试运行 Orcale Apex 应用程序时
- swagger - 使用身份验证表单时,Swashbuckle Swagger UI 未将 client_secret 和 client_id 发送到 OAuth 端点
- java - 从 CSV 读取列并保存到列表中
- > 在Java中
- python - 从下面的单元格中减去 2 个字符串,分别对应 pandas 中的索引或客户 ID
- laravel - 在 Laravel 上使用 firstOrCreate 时出现重复条目?
- image - 在 pytorch 中加载 csv 和 Image 数据集
- excel - HRESULT 异常:0x800A03EC excel.range
- python - Google Colab 无法提取保存在我的 Google 云端硬盘中的大文件
- javascript - 如何将js变量添加到表单中?