Nodejs将angular色连接到数据库表

我有一个用express.js编写的节点应用程序,带有用于身份validation的通行证和用户的连接angular色。 我也有一个组表,我想连接到连接angular色。 有没有关于如何去做这个的任何文件。 我想连接angular色使用我的组表行来分配angular色。

       

网上收集的解决方案 "Nodejs将angular色连接到数据库表"

连接angular色不定义任何存储机制。 它只是注入到你在会话对象中的已authentication的用户。 存储相当于您在connect-roles中testing的angular色的string取决于您。 您通常会首先validation用户身份(为您提供用户对象及其angular色),然后执行授权(在执行连接angular色的位置)。 在连接angular色之前应该使用Passport中间件(按照连接angular色文档)

在我的情况下,我添加了一个angular色集合到我的用户模型,并负责从我的数据库检索。 您仍然需要实现angular色testingfunction,这就是您定义它时引用您的用户模型angular色属性的地方。

例:

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);