我有一个MySQL数据库,其中包含多个表。其中一个表是用户表,用于存储用户名和密码(也包括其他信息)。我希望在模式中的所有表中,能够授予用户(或组)对各自字段的访问权限。以下是一个示例:
有一个名为ACCOUNTS的表。在该表中,用户填写并更新有关其公司的所有数据(名称、地址、POC等)。但同时我还想要附加到此表的只读字段,例如LastPaymentDate(不允许更改!)。此外,在这些用户中,权限也不同。例如,管理员/超级用户可以更改公司的名称和地址,但标准用户不允许。
我认为可能需要为该表创建多个视图,每个视图代表一种权限级别(组)。由于我相对较新于MySQL,因此不确定这是否是最佳方法。我还可以看到一个查找表,该表指示哪些字段允许查看/编辑。
我的初始想法是在注释(或字段名称)中包含从0到5的值,然后用户将具有权限级别(0-不能查看;1-只读;2-读/写;3-未使用;4-未使用;5-编辑/删除该字段本身)。
您有什么建议?如何使用视图或查找表来确定应显示哪些字段?请注意,这不是针对整个表格,而是针对表格中的每个列。
有一个名为ACCOUNTS的表。在该表中,用户填写并更新有关其公司的所有数据(名称、地址、POC等)。但同时我还想要附加到此表的只读字段,例如LastPaymentDate(不允许更改!)。此外,在这些用户中,权限也不同。例如,管理员/超级用户可以更改公司的名称和地址,但标准用户不允许。
我认为可能需要为该表创建多个视图,每个视图代表一种权限级别(组)。由于我相对较新于MySQL,因此不确定这是否是最佳方法。我还可以看到一个查找表,该表指示哪些字段允许查看/编辑。
我的初始想法是在注释(或字段名称)中包含从0到5的值,然后用户将具有权限级别(0-不能查看;1-只读;2-读/写;3-未使用;4-未使用;5-编辑/删除该字段本身)。
您有什么建议?如何使用视图或查找表来确定应显示哪些字段?请注意,这不是针对整个表格,而是针对表格中的每个列。
mysql
数据库中的 columns_priv、db 和 host 表中。使用它们,您将能够解决您的任务。也许,您会有更多的问题。 - user4035