【问题标题】:User and admin in the same app or separate用户和管理员在同一个应用程序中或分开
【发布时间】:2020-06-06 12:42:35
【问题描述】:

我必须做一个应用程序,其中一部分用户负责管理他们的所有事情,另一部分管理员负责,我的问题来了:

  1. 两个应用程序?
  2. 一个应用程序供用户使用,另一个应用程序供管理员使用?

一个有react经验的人告诉我,如果admin是自己,最好把administrator和用户的app分开,不然会很重(不知道是不是慢)。

但想一想,我是管理员,但我与用户有共同的组件,我更喜欢两者都有一个应用程序。

很贵?或者我可以将我的管理面板与登录/注册和用户前端一起做吗?

【问题讨论】:

    标签: reactjs


    【解决方案1】:

    任一选项都可以工作,如果操作正确。一般来说,我更喜欢使用同一个应用程序,因为它更易于维护,特别是如果两个应用程序共享许多公共代码时。但是,有一些考虑因素可能会倾向于两种不同的应用程序,主要是:

     1. It is easier to lock down a separate HR application to more than
        simply a login role.For example, the Employee app may be publicly 
        accessible via the
        internet, but the HR app could be locked down to the internal
        network, or even certain user's workstations.
    
     2. It would be much harder to brute force a valid login for the HR 
        app without having access to it.
    
     3. With a single app, it is possible for a developer to make a 
        mistake and accidentally expose admin functionality to regular 
        users. 
        This obviously would not happen with separate apps. (This is why 
        stressed "if done correctly" in the first sentence.)
    

    【讨论】:

      【解决方案2】:

      是的,您可以将用户和管理员的代码保存在同一个应用中。 它肯定会增加应用程序的包大小,从而使其变慢,但同时您可以利用延迟加载和类似分块的技术来确保应用程序的性能仍然保持良好。

      如果您的用户端应用程序很大,那么为了让事情变得更顺畅,您可以使用单独的管理员。

      【讨论】:

      • 如果我将 admin 端分开另一个 React 应用程序,两个 React 应用程序可以通信吗?
      • 你能详细说明两个 React 应用之间的通信吗?
      • 我想@JuanPabloB 希望单独的应用程序能够共享公共组件。这可以实现将常用组件打包在一起,并将它们作为 npm 依赖项安装在 User 和 Admin 应用程序中。
      猜你喜欢
      • 2017-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-31
      • 2020-04-04
      • 2016-07-27
      • 1970-01-01
      相关资源
      最近更新 更多