我有一个具有单帐户模型的 Django 应用程序。我们正在将其转换为多帐户,因此几乎每个模型都会有一个ForeignKey(Account)
.
确保每个Account
(每个帐户都在自己的子域中)只能访问自己的数据的最简单方法是什么?我们有一个填充子域的中间件,以及每个请求的当前帐户。
filter(...., account = request.account)
我们可以通过在我们所有的视图中添加一个艰难的方式来做到这一点。这是不可取的,因为,
filter(...., account = request.account)
将被添加到所有查询中,从而使此操作不枯燥、重复且容易出错。- 更大的风险是如果缺少过滤器,任何地方都有安全风险。