【发布时间】:2017-03-25 11:05:56
【问题描述】:
编写新闻网站,我正在尝试进行授权,以便只有作者(发布文章的人)能够编辑和删除它(这些按钮出现在页面底部并且对所有用户可见)。
但有些新闻/网站没有登录/注册选项。例如:http://www.denofgeek.com/us。 因为他们没有身份验证,这是否意味着他们没有授权? 如果作者的设置与其他用户相同,他们如何编辑/删除文章?
代码:
app.get("/blog/:id/:title/edit", function(req,res) {
Blog.findById(req.params.id, function(err, foundBlog) {
if(err) {
res.redirect("/blog");
} else {
res.render("editBlog", {blog : foundBlog});
}
})
})
//UPDATE BLOG
app.put("/blog/:id/:title", function(req,res) {
req.body.blog.body = req.sanitize(req.body.blog.body);
Blog.findByIdAndUpdate(req.params.id, req.body.blog,{new: true}, function(err,updatedBlog) {
if(err) {
res.redirect("/blog");
} else {
res.redirect("/blog/" + req.params.id + "/" + req.params.title);
}
})
})
如果我不想使用身份验证,我应该如何编辑/删除文章?
P.S : 当然,我可以删除页面上出现的编辑和删除按钮,并通过 Postman 发送 PUT 和 DELETE 请求,但这显然是个坏主意!
【问题讨论】:
标签: node.js authentication mongoose authorization