我正在构建一个项目,其中我有3种类型的用户:管理员、工作者和用户。我正在使用mongo,并根据不同的角色设置了三种不同的模式。
在尝试使用passport.js进行单一形式的登录/注册身份验证,并将用户重定向到相应的页面时,我看到一些解决方案只使用一个用户表,并给他们一个字段:role。
问题:如果我有3个用户表,是否可以进行单一形式的登录?我最好登录3次吗?这可能吗?前进的最佳途径是什么?
基本上,我能够为用户创建一个登录/注册身份验证,然后我决定为每个用户表重做passport逻辑。它不起作用了,我看到有个地方做不到。提前谢谢你,我希望这不会太愚蠢。
1条答案
按热度按时间unftdfkk1#
查看连接字符串uri格式后
MongoDB
它清楚地表明,如果我们使用authSource
.数据库中用户的角色应在数据库引擎端确定,而不是在登录表单上确定。用户只需输入有效的用户名和密码。查找角色和可访问性问题应该留给db引擎。
我建议您在根级别创建一个额外的模式,该模式包含允许的用户名及其相应的允许模式(您单独创建的模式)。使用是作为踏脚石,以获得真正的交易。