如何在 Express 中将静态文件与用户相关联?
How to associate static files with user in Express?
我想快速将静态文件与特定用户相关联,并进行某种身份验证,以便一组特定文件只能被与之相关联的用户看到。
我正在使用 multer 上传文件。
我的中间件提供所有请求的文件。
app.use(express.static(path.join(__dirname, "public")));
在我的 SQL 数据库中,我将图像的路径与 user_id 一起存储。现在,当请求资源时,我想确定请求用户是否拥有它,否则拒绝请求。
您可以在它之前添加一个中间件函数,然后让该中间件检查请求是否被允许 - 就像这样。
app.use(checkUser, express.static(path.join(__dirname, "public")));
checkUser
然后需要是一个中间件功能,用于检查是否允许用户请求这个特定的 URL。如果不是,那么它 returns 一个错误并且不会调用 next()
所以 express.static()
永远不会看到请求。如果允许用户,则中间件调用 next()
和 express.static()
将查看它是否可以为 URL.
提供服务
我想快速将静态文件与特定用户相关联,并进行某种身份验证,以便一组特定文件只能被与之相关联的用户看到。
我正在使用 multer 上传文件。 我的中间件提供所有请求的文件。
app.use(express.static(path.join(__dirname, "public")));
在我的 SQL 数据库中,我将图像的路径与 user_id 一起存储。现在,当请求资源时,我想确定请求用户是否拥有它,否则拒绝请求。
您可以在它之前添加一个中间件函数,然后让该中间件检查请求是否被允许 - 就像这样。
app.use(checkUser, express.static(path.join(__dirname, "public")));
checkUser
然后需要是一个中间件功能,用于检查是否允许用户请求这个特定的 URL。如果不是,那么它 returns 一个错误并且不会调用 next()
所以 express.static()
永远不会看到请求。如果允许用户,则中间件调用 next()
和 express.static()
将查看它是否可以为 URL.