【发布时间】:2010-05-21 20:41:08
【问题描述】:
我一直在他们的 wiki 上查看 sqlalchemy 食谱,但不知道哪一个最适合实现我正在尝试做的事情。
我表中的每一行都有一个与之关联的 user_id。现在,对于每一个查询,我都是通过当前登录的用户的 id 进行查询,然后根据我感兴趣的条件进行查询。我担心开发人员可能会忘记将这个过滤器添加到查询中(一个巨大的安全风险)。因此,我想根据当前用户的管理员权限设置一个全局过滤器,以过滤登录用户可以看到的内容。
感谢您的帮助。谢谢。
【问题讨论】:
-
您有没有想过使用数据库安全系统来实现这一点?例如,Oracle 通过其 VPD 特性 (oracle.com/technology/deploy/security/database-security/…) 提供此功能。您也可以在其他数据库中实现类似的功能(例如 ddj.com/database/215900773 和 technet.microsoft.com/en-gb/library/cc966395.aspx)。只需谷歌搜索“行级安全 RDBSName”。
-
或在所有添加适当限制的表上设置视图或规则,并剥夺用户直接读取基础表的能力。 postgresql.org/docs/8.4/interactive/rules.html
标签: filter sqlalchemy acl