Node.js Nodejs将角色连接到db表

Node.js Nodejs将角色连接到db表,node.js,authentication,express,authorization,roles,Node.js,Authentication,Express,Authorization,Roles,我有一个用express.js编写的节点应用程序,带有passport,用于身份验证和用户连接角色。我还有一个组表,我想连接它来连接角色。有没有关于如何进行这项工作的文件。我希望连接角色使用我的组表行分配角色 连接角色未定义任何存储机制。它只是简单地注入到会话对象中的经过身份验证的用户中。在connect角色中存储与您测试的角色等效的字符串取决于您。通常,您将首先对用户进行身份验证(这将为您提供用户对象及其角色),然后进行授权(在执行connect角色的地方)。连接角色之前应使用Passport

我有一个用express.js编写的节点应用程序,带有passport,用于身份验证和用户连接角色。我还有一个组表,我想连接它来连接角色。有没有关于如何进行这项工作的文件。我希望连接角色使用我的组表行分配角色

连接角色未定义任何存储机制。它只是简单地注入到会话对象中的经过身份验证的用户中。在connect角色中存储与您测试的角色等效的字符串取决于您。通常,您将首先对用户进行身份验证(这将为您提供用户对象及其角色),然后进行授权(在执行connect角色的地方)。连接角色之前应使用Passport中间件(根据连接角色文档)

在我的例子中,我向用户模型中添加了一个角色集合,并负责从数据库中检索该集合。您仍然需要实现角色测试功能,这就是您在定义用户模型角色属性时引用该属性的地方

例如:

roles.use(function (req, action) {
  if (req.isAuthenticated()){
    if (req.user.securityRoles.indexOf('admin') >= 0) return true; //admins can access all pages
    else return req.user.securityRoles.indexOf(action) >= 0;
  }
});
然后保护一条如下所示的路线:

app.get('/offers', roles.is('offer.read'), offers.index);

这是什么样的数据库?它的mysql,可能吗?或者你只需要使用像“管理员”和“版主”这样的预定义选项吗