2017-06-26 149 views
1

我們有一個富客戶端架構的Web應用程序。 我們在客戶端使用React,在後端使用Java/Spring。我應該在Web應用程序中保護UI嗎?

現在的問題是,登錄頁面應該是我們反應程序的一部分嗎? 據我所知,如果我們這樣做,缺點是:

  • 的UI是不受保護的,每個人,甚至是那些沒有任何訪問,可以下載整個UI應用程序。
  • 每個人,即使沒有訪問必須在登錄之前下載整個UI應用

而有利的一面是:。

  • 頁面不必當有人在logeed被刷新
  • 前端和後端部分可以完全分離,無需任何共享會話。

在大多數已知的應用程序中,例如gmail,slack等,富客戶端應用程序(角度,反應等)僅僅是在登錄之後,我不知道任何第一種方法的應用程序。

回答

2
  1. 前端通常不受保護。有可能的方法使代碼更難制動,但它總是可能的。
  2. 由於1 - >你不應該在前端保留任何敏感數據。
  3. 作爲一種將數據從Spring後端傳輸到React(或任何其他類似Angular,VueJS等)的安全方式,您應該使用JWT或OAuth2。
  4. 您可以在前端解碼您的JWT(但只有後端可以驗證它是否爲有效令牌,所以不用擔心)才能獲取編碼的作用域,角色等來使用它們,例如,僅顯示管理員選項。
  5. 要回答你的問題 - 登錄頁面絕對是可以作出反應的應用程序的一部分,因爲它會從後臺發送的登錄憑據並取回JWT
  6. 當用戶登錄 - 您將附加智威湯遜在頭與每個請求,所以您的Spring Security可以檢查它並授權請求。
+0

那麼,爲什麼我們沒有看到任何已知的網絡應用程序,如Gmail的這種方法? – Amir

+0

不知道Google爲什麼不想將Gmail更改爲SPA,但我想我聽說Inbox是SPA。 此外,即使在銀行業,您也可以看到這種方法。看看這個:https://login.ingbank.pl/mojeing/app/#login –

+0

有一件事谷歌登錄是在許多谷歌應用程序之間共享,所以它是有道理的許多應用程序使用單獨的實體 –

相關問題