【发布时间】:2011-10-10 03:52:19
【问题描述】:
我正在开发一个 Django 应用程序,它是某个 Oracle 数据库的 Web 前端,而另一个本地数据库则保存着应用程序的数据,例如 Guardian 权限。问题是它可以从我无法控制的不同地方进行修改。
假设我们有 3 个模型:User、Thesis 和 UserThesis。
UserThesis - 指定Thesis 和User 之间关系的表(User 是Thesis 的共同作者)
场景:
User作为Thesis的作者被其他应用删除UserThesis表中的条目。User尝试使用我们的 Django 应用修改Thesis。他成功了,因为 Guardian 和 Django 不知道UserThesis的变化。
我想到了一些解决方案:
让一些 cron 作业通过检查条目的修改日期来查找
UserThesis中的更改。易于检查添加,删除需要再次查看所有关系。修改 Oracle DB 模式以添加 Guardian DB 表并在
UserThesis表上创建触发器。我不想这样做,因为 Oracle DB 在许多不同的应用程序之间共享。手动检查视图和模板中的关系(Oracle 负载较重)。
哪个是最好的?还有其他想法吗?
【问题讨论】:
标签: python django database-permissions django-permissions