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

Authentication based on user role mongodb

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

在尝试使用 passport.js 进行单一形式的 login/register 身份验证并将用户重定向到相应页面时,我看到了一些仅使用一个 table 的解决方案用户并给他们一个字段:role.

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

基本上我能够为 用户 创建一个 login/register 身份验证,之后我决定为每个 table 用户重做护照逻辑。它没有用,我看到某处无法完成。提前谢谢你,我希望这不是太愚蠢。

一旦查看了 MongoDBConnection String URI Format,它清楚地表明如果我们使用 authSource 可以使用不同的内部数据库作为身份验证源。

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

我建议您在根级别创建一个额外的架构,其中包含允许的用户名及其相应的允许架构(您单独创建的架构)。使用它作为访问真实交易的踏脚石。