node.js - 如何在express js中授予用户特定的文件访问权限

标签 node.js express ejs viewengine

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

最佳答案

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

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

关于node.js - 如何在express js中授予用户特定的文件访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57519568/

相关文章:

Javascript 过滤器非数组 JSON 对象

node.js - MVC 框架中的 Controller ,用于没有 View 的 REST API

javascript - ajax post 之后我无法从 JSON 对象数组中提取数据?

javascript - Node js中未处理的 promise 拒绝错误

javascript - node.js ejs 在 ajax 之后渲染 div

express - 为什么 express-ejs-layout 无法呈现 layout.ejs?

javascript - 变量不保留值

mysql - NodeJS 中的 SQL Promise 返回空括号,但是当在 SQL Workbench 中执行相同的查询时,它返回正确的数据

javascript - Typescript:忽略与基本类型并行的自定义类型

javascript - 普通JS : Reveal only the next element at the same parent group