database - 如何在Postgresql中实现ACL

标签 database postgresql acl

我的数据库中有两个模型:商业和品牌。每个业务对几个品牌有一个或多个访问权限,如阅读、更新和删除。

我不确定实现访问控制的最佳方式是什么。现在,我创建了一个包含多个字段的连接表:business_idbrand_idcan_readcan_updatecan_delete,每当要执行某些操作时,我都会检查此表。

但是,我意识到这种方法是在应用程序级别,而不是在数据库级别。

我的问题是,有没有什么方法可以在数据库级别实现这种访问控制?

我用 Google 搜索了“Postgresql 中的 ACL”,但结果都是关于数据库本身的帐户,而不是它存储的数据。

请帮忙!

最佳答案

您可能需要考虑行级安全策略。这是 PostgreSQL v9.5 中的新功能。

参见 Row Security Policies获取更多信息。

关于database - 如何在Postgresql中实现ACL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36908007/

相关文章:

sql - 不使用 SELECT * 的假设性能 yield

python - 从不同的Python模块调用数据库对象

postgresql - 使用可变参数、任意数组和任意元素移植 Oracle decode()

windows - 在 Windows 上使用 osm2pgsql default.style 文件

linux - Setfacl - 不支持

acl - 我可以修改 vagrant 中共享文件夹的所有权吗?

database - 为什么我不能访问具有 ACL 上的管理员访问权限的 Notes 数据库?

mysql - 从签到日期列表中获取持续时间

mysql - 为什么这个简单的 SQL 查询会在一个简单的 6k 记录表上造成严重滞后?

postgresql - Rails 字符串列中的字数大于?