我的数据库中有两个模型:商业和品牌。每个业务对几个品牌有一个或多个访问权限,如阅读、更新和删除。
我不确定实现访问控制的最佳方式是什么。现在,我创建了一个包含多个字段的连接表:business_id
、brand_id
、can_read
、can_update
、can_delete
,每当要执行某些操作时,我都会检查此表。
但是,我意识到这种方法是在应用程序级别,而不是在数据库级别。
我的问题是,有没有什么方法可以在数据库级别实现这种访问控制?
我用 Google 搜索了“Postgresql 中的 ACL”,但结果都是关于数据库本身的帐户,而不是它存储的数据。
请帮忙!
最佳答案
您可能需要考虑行级安全策略。这是 PostgreSQL v9.5 中的新功能。
参见 Row Security Policies获取更多信息。
关于database - 如何在Postgresql中实现ACL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36908007/