Node.js 当用户可以有不同的角色时,如何在Node js中授权?

Node.js 当用户可以有不同的角色时,如何在Node js中授权?,node.js,mongodb,mongoose,backend,mern,Node.js,Mongodb,Mongoose,Backend,Mern,我正在为一家公司建立一个网站,用户可以在其中扮演特定于项目的角色。特定用户没有全局角色。我使用的是MERN stack,公司在mongo有一个数据库。在这种情况下,我无法使用JWT令牌授权特定用户,因为用户的角色可以根据项目的不同而变化。那么,有谁能帮助我在我的NodeJS代码中如何授权特定用户呢 这是我的项目模式- const mongoose = require('mongoose') const validator = require('validator') const projectS

我正在为一家公司建立一个网站,用户可以在其中扮演特定于项目的角色。特定用户没有全局角色。我使用的是MERN stack,公司在mongo有一个数据库。在这种情况下,我无法使用JWT令牌授权特定用户,因为用户的角色可以根据项目的不同而变化。那么,有谁能帮助我在我的NodeJS代码中如何授权特定用户呢

这是我的项目模式-

const mongoose = require('mongoose')
const validator = require('validator')
const projectSchema = new mongoose.Schema({
    projectName:{
        type:String,
        required:[true, 'Please enter project name']
    },
    projectStatus:{
        type: String,
        enum:['ACTIVE', 'PLANNED', 'COMPLETED'],
    },
    projectOwner:{
        type: mongoose.Schema.Types.ObjectId,
        ref: "User"
    },
    projectType: {
        type: String
    },
    propertyType:{
        type: String
    },
    projectLocation:{
        type: String
    },
    projectBudget:{
        type: Number
    },
    projectFinishDate:{
        type: Date
    },
    tasks:[{
        type: mongoose.Schema.Types.ObjectId,
        ref: "Task"
    }],
    projectRoles: [{
        type: String
    }],
    purchaseOrders:[{
        type: mongoose.Schema.Types.ObjectId,
        ref: "purchaseOrder"
    }],
    totalTasks:{
        type: Number,
        default: 0
    },
    published:{
        type: Boolean,
        default: true
    },
    completedTasks:{
        type: Number,
        default: 0
    },
    changeOrders:[{
        type: mongoose.Schema.Types.ObjectId,
        ref: 'changeOrder'
    }],
    punchList:[{
        type: mongoose.Schema.Types.ObjectId,
        ref: 'punchList'
    }],
    Users:[{
        user: {
            type: mongoose.Schema.Types.ObjectId,
            ref: 'User' 
        },
        role: {
            type: String
        },
        permission: {
            type: String
        }
    }]
})
mongoose.model('Project', projectSchema)
在这里,用户文档指定项目的用户以及他们在该特定项目中拥有的权限。在这种情况下,如何授权用户