我需要在我的应用程序中实现访问控制。我需要控制谁可以编辑哪一行的哪一列。
规则的示例可能是:
我不是在要求数据库为我的应用程序提供评估应用程序代码更改可能性所需的所有信息,而是在考虑基于触发器的插入,更新和删除方法。在这种情况下,触发器将被挂接到受控表上。触发器在不允许进行操作时会失败。
假设我能够评估Postgres DB中的所有权限,那么我会看到一些积极的看法:
我的问题是:
答案 0 :(得分:0)
有可能在扩展数据库之后将充满触发器,这些触发器将很难编辑或更改。例如。如果添加额外的列,则应编辑与表相关的所有过程。
如果我有您的问题,则您正在尝试控制Web应用程序用户。
我认为更好的方法是在PHP方面实施限制。例如创建角色,其中包含可能编辑列的数组。如果这是“管理员”,则他/她的列表将包含所有列。 然后根据角色配置动态创建表单,以使用户看到他/她可以编辑的内容。