Node.js 当用户可以有不同的角色时,如何在Node js中授权?
我正在为一家公司建立一个网站,用户可以在其中扮演特定于项目的角色。特定用户没有全局角色。我使用的是MERN stack,公司在mongo有一个数据库。在这种情况下,我无法使用JWT令牌授权特定用户,因为用户的角色可以根据项目的不同而变化。那么,有谁能帮助我在我的NodeJS代码中如何授权特定用户呢 这是我的项目模式-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
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)
在这里,用户文档指定项目的用户以及他们在该特定项目中拥有的权限。在这种情况下,如何授权用户