目前我正在api的node.js工作。我正在寻找一种集成基于角色的身份验证的正确方法。我在Heroku.com上有一个反应Web应用程序,这是为我们的客户购买我们的产品。 (预约管理系统)。
除了网络应用程序,我们还有一个iOS和Android应用程序,这是为每个客户的客户。
API登录应该如下工作:
MySQL数据库设计:
说明数据库设计:
重要说明:未来模型将包含一个包含公司特定组的额外表。
题
解决方案如下:
我如何使用sequelize和node.js实现这个?
在与Employee建立关系之前,首先需要在数据库中创建一个User实体。我这样做是这样做的:
models.User.create({
first_name: body.firstName,
last_name: body.lastName,
email: body.email,
password: body.password
})
.then((user) => {
return models.Employee.create({ user_id: user.id, group_id: 1 })
})
.then((employee) => {
if(!employee) {
return utils.createError(400, 'Could not create account');
}
return response.status(200).send(employee);
})
.catch(error => {
response.status(400).send(error);
});
我如何检查角色/帐户类型? (客户||员工)
我通过分离前端(本机应用程序)和Web应用程序路径来完成此操作:
- / API /网络/寄存器
- / API /应用程序/寄存器
我应该在数据库中有预定义的组吗?
答案是肯定的。我在数据库中添加了一个默认的CEO组,以便注册第一个用户。目前该模型正在经历大量变化,很快模型将会有所不同。