如何从后端验证前端的管理员? (Node.js, Angular, Mongodb)
How can I verify admin in frontend from backend? (Node.js, Angular, Mongodb)
在用户模型中,我有一个名为 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 });
}
}
})
})
我 return isAdmin 标志与令牌一起工作。
在用户模型中,我有一个名为 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 });
}
}
})
})
我 return isAdmin 标志与令牌一起工作。