我正在一个网站上工作,每个用户都可以拥有多个角色/权限,例如基本登录、订购产品、管理其他用户等等。除此之外,还有商店,每个商店可以有多个用户管理它。每个商店也有它自己的一组权限。
我很困惑自己,不确定如何最好地在数据库中表示这一点。现在我在想:
用户角色 users_roles 商店 stores_users
但是,我是否也应该拥有 stores_roles 和 stores_users_roles 表来跟踪商店的单独权限,还是应该将角色限制在单个“角色”表中?
我原本以为只有一个角色表,但是在多个商店中拥有角色的用户呢?即,如果用户被赋予“商店产品更新”的角色,则需要某种方法来确定这是指哪个商店。store_users_roles 表可以通过 store_id 字段解决此问题,因此用户可以对商店 #42 进行“商店产品更新”和“商店产品删除”,而对商店 #84 进行“商店产品更新”。
我希望我在这里有意义。
编辑
信息很有帮助,谢谢大家。显然我有一些想法要做。这只是我正在进行的一个有趣的项目,但 RBAC 一直是我想更好地理解的东西。