【问题标题】:How can I verify admin in frontend from backend? (Node.js, Angular, Mongodb)如何从后端验证前端的管理员? (Node.js、Angular、Mongodb)
【发布时间】:2020-06-05 06:34:51
【问题描述】:

在用户模型中,我有一个名为isAdmin 的属性,默认值为false。在 MongoDB 中,我手动创建了一个管理员帐户,其属性 isAdmin 设置为 true。当我以管理员身份登录时,程序会对其进行验证,并且终端会显示“admin”。但是如何将这个true 值移动到前端以检查它是否是管理员?那我可以在前端写什么?

    isAdmin: {
        type: Boolean,
        default: false
    },
router.post('/login', (req, res) => { 
  let userData = req.body;

  User.findOne({ email: userData.email }, (error, user) => {
    if (error) {
      console.log(error);
    } else {
      if (!user) {
        res.status(401).send('Invalid email');
      } else
        if (user.password !== userData.password) {
          res.status(401).send('Invalid password')
        } else {
          if (user.isAdmin) { // admin <--------------------
            console.log('admin');          
          }
          let payload = { subject: user._id };
          let token = jwt.sign(payload, 'secretKey');
          res.status(200).send({ token });
        }
    }

  })
})

【问题讨论】:

  • 在令牌旁边返回 isAdmin 标志?
  • 您好,欢迎您!似乎这个问题并不适合 StackOverflow:stackoverflow.com/help/how-to-ask
  • 我按照你写的做了。这并不容易,因为我是初学者,但它成功了。非常感谢!

标签: node.js angular mongodb admin mean-stack


【解决方案1】:

我在令牌旁边返回 isAdmin 标志,它可以工作。

【讨论】:

    猜你喜欢
    • 2018-11-15
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    相关资源
    最近更新 更多