为了账号安全,请及时绑定邮箱和手机立即绑定

什么作为密钥而不是 mongodb 中匿名用户的用户名和密码传递?

什么作为密钥而不是 mongodb 中匿名用户的用户名和密码传递?

拉丁的传说 2021-11-25 16:21:10
我正在尝试创建一个 mongodb 模式,在该模式中我允许该人匿名发布项目,我已经拥有经过身份验证的用户模式,我正在考虑仅使用它来允许用户发布他们的项目!关于我应该如何进行的任何想法?例如:就像匿名用户的真实性应该是什么一样,它应该是所有用户的相同密钥,还是每个用户的不同密钥等等......我对数据库相当陌生,我很困惑。对我有什么建议吗?架构用户:const UserSchema = new Schema({  full_name: {    type: String,    required: true  },  username: {    type: String,    required: true  },  email: {    type: String  },  password: {    type: String,    required: true  },  avatar: {    type: String  },  date: {    type: Date,    default: Date.now  },  projects: [{ type: Schema.Types.ObjectId, ref: "projects" }]});谢谢你
查看完整描述

1 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

mongodb 中的每个文档都有一个自动生成的唯一 _id 字段,因此您可以使用该字段来识别每个匿名用户。

我的建议是使用 cookie 对用户进行身份验证,您可以使用类似的库passport.js来验证用户并保存其 mongodb 唯一 _id,因此当该用户向您的服务器发送请求时,您可以使用类似这样的内容获取其 _id req.user._id

一个可能的缺点是,当匿名用户清除他的 cookie 时,他将失去身份验证,从而无法访问他的项目。


查看完整回答
反对 回复 2021-11-25
  • 1 回答
  • 0 关注
  • 199 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信