3

因此,我一直在試圖找出如何在SPA應用程序中處理授權而不是身份驗證的最佳實踐。授權在SPA或客戶端應用程序

說我有一個客戶端MVC(角度,vuejs等..)與api後端,我們如何管理使用授權的應用程序?

例如,用戶和經理都可以訪問,但其中一個訪問(視圖中的功能)比另一個訪問更多。如果他們都在客戶端使用相同的用戶界面,那麼如何根據他們的訪問權限保護和呈現正確的視圖?可以選擇獲取他們的角色/聲明列表,並根據它確定在客戶端上呈現的內容,但由於基於JS,因此可以輕鬆繞開。

聽起來,客戶端mvc應用程序可能不是正確的解決方案,SSR應用程序更適合這一點。如果是這樣的話,那麼手機殼呢?你如何解決移動設備的相同問題,而無需開發真正的原生應用程序?

+1

另一個問題,如果你創建一個客戶端應用程序,跟蹤授權規則的最佳方式是什麼?你是否一次抓取它們,將它們保存在本地,或者是否進行API調用以檢查每個規則?安全和效率方面的最佳實踐? – mghz

回答

0

這是一個非常好的問題,這也是我長期以來的想法。我不知道爲什麼沒有人回答這個問題。我瞭解一些這方面的文章和教程,並在所有這些,他們提出你提到的同樣的事情:

「讓他們的角色/索賠清單,並根據其決定什麼 呈現在客戶端「

正如你也提到了,它可以規避,但我想是因爲,授權也將在服務器端來完成,那麼無論用戶如何與前端JS篡改(例如通過使用瀏覽器的開發工具),他/她不能pa ss授權後衛。例如,他們可能可以添加刪除按鈕的所有評論(除自己的評論),但他們點擊後,其他用戶的評論刪除按鈕。 由於服務器端授權,服務器將不會授權刪除操作。所以你提到的方法似乎是合法的。