2016-09-15 11 views
0

私はブログのアプリを作っています。各ユーザーは自分のアイデアを投稿することができ、投稿されたユーザーだけが投稿を削除または更新することができます。mongooseのユーザーアクセス制御にエラーがあります

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

をポストをdelteすると、これは私のユーザー・スキーマ

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

答えて

0

であることを確認することができます私はおそらくちょうどセッションに保存されているIDを確認したいです。セッションを追跡するには、connect-mongoのようなライブラリを使用します。

関連する問題