gpt4 book ai didi

node.js - 用户角色 : node. js express sequelize react.js

转载 作者:行者123 更新时间:2023-12-03 22:24:45 25 4
gpt4 key购买 nike

我在 bezkoder 上使用本教程来创建用户角色。但是,默认情况下,用户在注册期间被赋予角色:1 [订阅者]。
我对其中的很多内容都不熟悉,所以我不确定我需要更改多少才能创建两个注册页面:一个将自动注册具有角色 1 [订阅者] 的用户,另一个将自动注册具有角色 2 [专家] 的用户。
前端
https://bezkoder.com/react-jwt-auth/
后端
https://bezkoder.com/node-js-jwt-authentication-mysql/
我认为该角色在 Controller 中自动注册为 1,但我什至不确定这是记录角色的位置。非常感谢任何帮助。

exports.signup = (req, res) => {
// Save User to Database
User.create({
username: req.body.username,
email: req.body.email,
password: bcrypt.hashSync(req.body.password, 8)
})
.then(user => {
if (req.body.roles) {
Role.findAll({
where: {
name: {
[Op.or]: req.body.roles
}
}
}).then(roles => {
user.setRoles(roles).then(() => {
res.send({ message: "User was registered successfully!" });
});
});
} else {
// user role = 1
user.setRoles([1]).then(() => {
res.send({ message: "User was registered successfully!" });
});
}
})
.catch(err => {
res.status(500).send({ message: err.message });
});
};

最佳答案

在浏览了提供的前端教程后,我想我可以将问题缩小到组件 Authservice 。它有一个名为 register 的方法:

  register(username, email, password) {
return axios.post(API_URL + "signup", {
username,
email,
password
});
}
因为目前您永远不会在用户注册时发送角色。所以新用户总是以默认角色结束。如果您想在注册时为用户提供除默认角色之外的另一个角色,则必须将参数角色添加到 axios.post 函数中的配置对象中。例如像这样:
  register(username, email, password) {
return axios.post(API_URL + "signup", {
username,
email,
password,
roles=[ "ROLE_ADMIN" ]
});
}
因此,您可以创建另一个注册页面,在其中使用此修改后的注册功能而不是默认功能。

关于node.js - 用户角色 : node. js express sequelize react.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65902094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com