我应该保护Web应用程序中的UI吗?

时间:2017-06-26 09:56:00

标签: spring reactjs user-interface spring-boot ria

我们有一个富客户端架构的Web应用程序。 我们在客户端使用React,在后端使用Java / Spring。

现在问题是登录页面应该是我们的反应计划的一部分吗? 据我所知,如果我们这样做,那么缺点是:

  • 用户界面不受保护,即使是那些没有任何访问权限的用户,也可以下载整个用户界面应用程序。
  • 即使没有访问权限,每个人都必须在登录前下载整个UI应用程序。

好处是:

  • 当有人溜进去时,页面不需要刷新。
  • 前端和后端部分可以完全分开,无需任何共享会话。

在大多数已知的应用程序中,例如gmail,slack等,富客户端应用程序(角度,反应等)就在登录后,我只是不知道第一种方法的任何应用程序。

1 个答案:

答案 0 :(得分:2)

  1. 前端通常不受保护。有可能使制作代码更加困难,但它总是可能的。
  2. 因为1 - >你不应该在前端保留任何敏感数据。
  3. 作为将数据从Spring后端传输到React(或任何其他类似Angular,VueJS等)的安全方式,您应该使用JWT或OAuth2。
  4. 你可以在前端解码你的JWT(但只有后端可以验证它是否是有效的令牌,所以不用担心)以获得编码的范围,角色等来使用它们,例如仅显示管理员选项。
  5. 要回答您的问题 - 登录页面肯定可以成为React应用程序的一部分,因为它将发送登录凭据并从后端返回JWT
  6. 当用户登录时 - 您将在每个请求的标头中附加JWT,因此您的Spring Security可以检查它并授权请求。