如何在快递应用中限制用户的权限?

时间:2016-11-13 21:27:41

标签: node.js express

我有一个网页,其中包含一个表单,允许用户向页面添加评论以提供反馈。

https://express-chat-comment-ap.herokuapp.com/feedback

您会注意到用户不仅可以删除评论,还可以删除所有评论。

所以我的问题是,您如何将这些权限仅限于当前用户?

所有这一切都有一个主要方面,即网页正在集成到已经拥有用户登录/用户帐户的网站。

我是否还必须对他们现在使用的后端进行任何研究?或者我可以用Express / Node封装所有这些吗?

我应该使用哪些套餐?

我从哪里开始?

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

你把马放在推车前。这不是一个真正的节点/快车"题;你不会在Javascript级别解决它。

相反,您的主要问题实际上是"我该怎么做?'安全'?"

更具体地说:"我如何'验证'用户&#34?; "如何授予访问权限?" "我如何阻止访问?"等等...

SUGGESTIONS:

User Authentication with the MEAN Stack

MySQL Authentication using Passport

OAuth 2 Single Sign on Authentication with Passport

Node.js: Token based authentication

Heroku: Managing Organization Users and Application Access

答案 1 :(得分:3)

您必须为服务器验证和理解的每个用户提供经过身份验证并登录的用户ID。每条评论必须与创建者的用户ID一起保存,您必须能够从数据存储中检索该评论。

然后,您的服务器可以检查正在尝试操作的用户(可能来自请求附带的已登录cookie),正在尝试的操作以及该用户是否允许该操作。例如,如果登录的用户是" Bob"他们试图从" Alice"中删除评论,然后服务器将拒绝执行该操作。

并且,您在网页中的UI无法提供不允许的操作(尽管服务器必须始终检查)。因此,如果评论中有删除按钮,则只会在属于当前用户的评论上显示该按钮。