首页 > 解决方案 > 如何在 express js 中授予用户特定的文件访问权限

问题描述

我正在使用 express js 和 passport js 作为身份验证系统,也使用视图引擎。我正在寻找一种解决方案,可以让用户访问并让用户看到他们的文件,而不是其他人的文件。例如,在图像文件夹中,用户将访问他们的文件,之后,我想将这些文件传递给查看引擎。如果我使用公用文件夹,任何人都可以看到其中的每个文件。你推荐什么解决方案?

标签: node.jsexpressejsviewengine

解决方案


您应该为每个用户创建一个目录。

那么,例如,您的网址是/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


推荐阅读