基于用户角色mongodb的身份验证



我正在构建一个项目,其中我有三种类型的用户:AdminWorkerUser。我正在使用mongo,并且基于不同的角色设置了三个不同的模式。

在尝试使用passport.js进行单一形式的登录/注册身份验证,并将用户重定向到相应的页面时,我看到了一些解决方案,这些解决方案只使用一个用户表并为他们提供一个字段:role

问题:如果我有3个用户表,是否可以进行单一形式的登录?我最好登录3次吗?这可能吗?前进的最佳方式是什么?

从本质上讲,我能够为User创建登录/注册身份验证,之后我决定为每个用户表重做passport逻辑。它不起作用,我看到某个地方做不到。提前谢谢你,我希望这不是太愚蠢。

查看MongoDB的连接字符串URI格式后,它清楚地表明,如果我们使用authSource,则可以使用不同的内部DB作为身份验证源。

用户在数据库中的角色应在数据库引擎端而不是登录表单上确定。用户只需输入有效的用户名和密码。查找角色和可访问性问题应该留给DB引擎。

我建议您在根级别创建一个额外的模式,该模式具有允许的用户名及其相应的允许模式(您单独创建的模式(。使用是作为一块踏脚石,以获得真正的交易。

相关内容

最新更新