【发布时间】:2016-07-17 19:49:06
【问题描述】:
我的任务是使用 PostgreSQL 创建数据库。我必须通过继承来实现用户权限。我对如何做到这一点没有明确的愿景。假设我有 3 个用户角色:管理员、版主和注册用户。我在想的是有一个 users 表,该表将保存有关用户本人的标准数据(名字、姓氏、电子邮件、密码......)。表 users 将有一个 FK 到一个用户所属的组(版主、管理员或注册用户)的表,所以我知道要查询哪个表来获得权限.
由于administrator和moderator拥有注册用户的权限,我认为administrator和moderator 表将继承 注册用户 的权限并添加他们自己的特定权限。这些表只是为了它们与任何其他表没有关系的权限而存在。
稍后我会查询 user_group 表以查看用户属于哪个组,然后查询正确的表以获取权限(其类型为布尔值)。
但是通过这种方法,我看不到限制特定用户的特定权限的方法(例如发布 cmets)。我将不得不限制整个组的权限。
任何关于最佳方式的建议将不胜感激。
【问题讨论】:
标签: database postgresql inheritance database-design permissions