【发布时间】:2013-05-16 11:57:34
【问题描述】:
我有 MySQL 数据库,其中有几个表。其中之一当然是用于存储用户名和密码的 users 表(其中还包含其他信息)。对于架构中的所有表,我希望能够授予用户(或组)对各个字段的权限。也许一个例子会有所帮助:
那里有一个名为 ACCOUNTS 的表。在此表中,用户填写(并保持最新)有关其公司的所有数据(名称、地址、POC 等)。但我也希望将字段附加到该表,这些字段对于那些用户来说是只读的,例如 LastPaymentDate (不能让他们改变它!)。此外,在这些用户中,权限不同。例如,管理员/超级用户可以更改公司的名称和地址,但标准用户不能。
我认为这可能需要通过为表创建多个视图来完成,每个视图用于每个级别的权限(组)。我对 MySQL 比较陌生,所以我不知道这是否是最好的方法。我还可以看到一个查找表,说明允许查看/编辑哪些字段。
我最初的想法是在 cmets(或字段名称)中包含一个 0-5 的值,然后用户将拥有一个权限级别(0-看不到;1-只读;2 -读写;3-(未使用);4-(未使用);5-编辑/删除字段本身。
有什么建议吗?意见?查找表以确定要显示哪些字段?同样,它不是针对整个表格,而是针对表格中的每一列。
【问题讨论】:
标签: mysql permissions