具有共享(非独占)访问权限的DjangGuardian

2024-09-30 05:21:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个Django应用程序,它是一些Oracle数据库的Web前端,另一个本地数据库保存应用程序的数据,如监护人权限。问题是它可以从我无法控制的不同地方修改。在

假设我们有3个模型:UserThesis和{}。在

UserThesis-指定Thesis和{}之间关系的表(User是{}的共同作者)

场景:

  1. 其他应用程序通过删除UserThesis表中的条目,将User作为Thesis的作者删除。

  2. User试图使用我们的Django应用程序修改Thesis。他成功了,因为卫报和詹戈不知道UserThesis的变化。

我想了一些解决办法:

  1. 让一些cron作业通过检查条目的修改日期来查找UserThesis中的更改。易于检查添加,删除将需要再次查看所有关系。

  2. 修改Oracle数据库架构以添加Guardian DB表并在UserThesis表上创建触发器。我不想这样做,因为oracledb在许多不同的应用程序之间共享。

  3. 手动检查视图和模板中的关系(Oracle的负载更重)。

哪一个最好?还有别的主意吗?在


Tags: 数据django模型web数据库应用程序权限关系
1条回答
网友
1楼 · 发布于 2024-09-30 05:21:54

我决定手动检查权限,尽可能地缓存它。最后,我得到了get_perms_from_cache(self,user)模型方法,这对我很有帮助。在

相关问题 更多 >

    热门问题