在mongoose中用户访问控制出错

时间:2016-09-15 03:28:20

标签: node.js mongodb authentication mean-stack mongoose-schema

我正在制作博客应用;每个用户都可以发布他们的想法,只有发布的用户才能删除或更新帖子。

exports.verifyOwn = function (req, res, next) {
 if (User._id === req.decoded._doc.postedBy) {
   next();
 } else {
   var err = new Error('You do not have administrative privileges!');
   err.status = 401;
   return next(err);
 } 
 }

这是我的验证码。我怎样才能让他们自己的用户发布帖子

var postSchema = new Schema({
   title:{
   type:String,
   required:true
   },
   image:{
   type:String,
   required:true
    },
   meta:{
   type:String,
   required:true
  },
  story:{
   type:String,
   required:true
   },
   likes:{
   type:Number,
   min:0,
   required:true
  },
   postedBy: {
    type: mongoose.Schema.Types.ObjectId,
    ref: 'User' 
   },
   comments:[commentSchema]
    },
   {
     timestamps: true
    });

这是我的用户架构

var User = new Schema({
username: String,
password: String,
OauthId: String,
OauthToken: String,
firstname: {
  type: String,
    default: ''
},
lastname: {
  type: String,
    default: ''
},
biodata: {
  type: String,
  default: ''
},
admin:{
    type: Boolean,
    default: false
}
});

1 个答案:

答案 0 :(得分:0)

我可能只是检查存储在会话中的id。使用connect-mongo之类的库来跟踪会话。