Express.js:用户只能访问他们创建的数据

时间:2018-10-18 08:11:44

标签: node.js express mongoose passport.js passport-jwt

我在Express.js和MongoDB中挣扎。 我已经配置了passport登录名和passport-jwt,效果很好,但是现在我遇到了问题。 例如,我有两个用户和一个表,我想当第一个用户登录应用程序时,他们可以访问由他们创建的数据。 最好的解决方案是什么?为每个用户创建一张表? 帮帮我,感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以通过添加以下内容来更新将存储在表中的数据架构:

owner {
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
}

用户将是作为用户数据库创建的模型的名称,因此该表中的每个数据都将具有其所有者的ID,并且每次您要显示该数据或发送给用户时,您都可以检查ID该数据的所有者的数量等于已经登录的用户的ID,并取决于您是否可以显示表的数据。
用户的ID将存储在护照包创建的req.user._id中。