2016-11-13 105 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」中刪除評論,則服務器將拒絕執行該操作。

而且,您的網頁中的用戶界面不能提供不允許的操作(儘管服務器必須始終檢查)。因此,如果評論中有刪除按鈕,則只會在屬於當前用戶的評論中顯示該按鈕。