2016-11-13 184 views
0

我有一个网页,其中有一个表单,允许用户添加评论到页面提供反馈。如何限制快速应用程序中的用户权限?

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

你会发现,用户可以删除注释,不仅自己的意见,但他们所有人。

所以我的问题是,你会如何限制这些特权只有当前用户?

这里有一个主要部分,即网页正在被集成到一个网站上,该网站已经有一个用户登录/用户帐户。

我还必须做什么研究关于什么后退他们现在使用?或者我可以保持全部使用Express/Node进行封装?

我应该使用哪些软件包?

我从哪里开始?

在此先感谢您的帮助!

回答

3

你在推车前放马。这不是一个真正的“Node/Express”问题;你不会在Javascript级别解决它。

相反,您的主要问题实际上是“我该如何做'安全'?”

更具体地说:“我如何'认证'用户?” “我如何授予访问权限?” “我如何阻止访问?”等等...

几点建议:

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

3

您必须为您的服务器进行身份验证和理解的每个用户拥有经过身份验证和登录的用户ID。每条评论都必须与创建者的用户ID一起保存,并且您必须能够从数据存储中检索该评论。然后,您的服务器可以检查用户是否正在尝试执行操作(可能来自与请求一起登录的cookie),正在尝试执行的操作以及是否允许该用户执行该操作。例如,如果登录的用户是“Bob”,并且他们尝试从“Alice”中删除评论,则服务器将拒绝执行该操作。

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