处理访问其内容的不同用户组的最佳做法

时间:2016-12-25 22:24:34

标签: django database postgresql

我正在构建一个网络应用程序,不同的公司将上传自己的音频文件和一些其他信息。我正在使用Django,Postgres构建它并在AWS上托管它。属于不同公司的用户只能在登录网站时访问他们的数据。

该网站允许这些用户上传内容,搜索内容和访问内容。

我的问题是,处理这些上传内容的最佳做法是什么?为每个公司创建不同的架构或将所有内容放在一起并允许用户根据每个条目关联的公司ID访问不同的内容是否更好?

1 个答案:

答案 0 :(得分:1)

  

将所有内容放在一起,并允许用户根据每个条目关联的公司ID访问不同的内容?

就我个人而言,我会这样做,原因如下:

  1. 维护起来比较容易。添加新公司可能仅仅意味着新的ID,而不是新的架构和一些表。
  2. 您可以使用应用程序代码或数据库视图添加安全性。
  3. 您可以使用其他使用相同设计的公司特定功能。
  4. 我还建议在数据库端强制执行数据安全性,只允许应用程序从某些视图进行查询,其中视图受公司ID限制。这意味着您不会意外地从基表中选择并忘记公司过滤器,从而导致用户看到不属于他们的数据。

    这只是我的意见 - 很高兴得到证明。