问题描述
我正在为一家公司建立一个网站,用户可以在其中拥有特定于项目的角色。特定用户没有全局角色。我正在使用 MERN 堆栈,并且在 mongo 中有一个公司的数据库。在这种情况下,我无法使用 JWT 令牌授权特定用户,因为用户的角色可能会根据项目而变化。那么任何人都可以帮助我如何在我的节点 js 代码中授权特定用户。
这是我的项目架构-
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,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)
此处,用户文档指定了项目的用户以及他们在该特定项目中拥有的权限。在这种情况下,我如何授权用户?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)