讓我開始說,我確實明白,不應該試圖在客戶端使用JavaScript來保護任何東西。我的問題是指一些用戶會看到和其他人不會看到的用戶界面。通常這個UI也有一些與之綁定的邏輯。無論是Backbone還是Ember,根據用戶角色顯示或隱藏UI的不同部分的一些常規做法是什麼。在一個頁面js應用程序中保護用戶界面的安全
我最初的想法是根據當前登錄的用戶加載不同的js。最重要的是,加載視圖模板異步也浮現在腦海。我很想聽聽其他的想法和模式。請記住,這是假設客戶端通信的後端API對於給定的用戶已經是安全的。所以即使他們要查看安全的UI組件,它也不會正常工作。
無論你做什麼,後端都需要進行驗證,以確保他們有權進行呼叫。 – epascarello
是的,我確實在後端保護和驗證。它只是以安全的方式顯示或不顯示UI組件。一個不允許有js控制檯的人翻轉一些布爾值來渲染視圖,即使這些視圖不包含任何敏感數據,因爲它不會從服務器傳遞,所以他們不應該能夠看到它。 – digitaltoad
但是,如果他們翻轉布爾值,那麼後端不應該將數據饋送到前端。 AKA,他們不能刪除一個帳戶,因爲後端永遠不會允許該請求發生。如果您將代碼編碼爲從基類擴展,則只需添加另一個JavaScript文件即可將管理功能添加到其他代碼中並不困難。 – epascarello