在node.js中授权

编码一个新闻网站,我试图进行授权,只有作者(谁发布文章)能够编辑和删除它们(这些button出现在页面的底部,并为所有的用户可见)。

但是,有一些新闻/网站没有login/注册选项。 例如: http : //www.denofgeek.com/us 。 因为他们没有authentication,这是否意味着他们没有授权? 如果作者的设置与其他用户相同,他们如何编辑/删除文章?

码:

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

如果我不想使用身份validation,应该如何编辑/删除文章?

PS:当然,我可以删除出现在页面上的编辑和删除button,并通过邮递员发送PUT和DELETE请求,但这显然是一个坏主意!

经过你提到的网站有一个为用户和一个是独立的pipe理员作者可以login和更新添加新的职位,删除旧的一次。

这是不可能的,没有任何身份validation,您可以编辑/删除特定用户。

所以你应该这样做,就像为作者创build一个单独的面板,并设置一个login页面,所以只有授权的人可以进入页面,在那里你可以实现删除/更新的function,即使我会build议你使用授权,所以如果任何人都知道你的apis他们不能编辑,直到他们有令牌,你可以使用这个jsonwebtoken执行授权。

希望这可以帮助。