【发布时间】:2018-03-15 03:11:19
【问题描述】:
我正在开发一个具有一些基于角色的基本访问控制的应用程序。我在这里制作了当前设计的清晰图表:https://www.lucidchart.com/invitations/accept/49ba4012-c2cc-48de-b11b-5d9c357a66d7
目前的主要对象是帐户、公司和用户,其中一个用户可以是许多公司的成员,并且 1 个帐户下有许多公司。例如,我可以注册并创建一个“Bob's Tyre Shop”帐户,并且我可以在其下拥有多个公司,例如“Bob's Tyre Shop in New York”和“Bob's Tire Shop in Chicago”等。
我希望用户能够成为多家公司的一员,因此如果乔是两家商店的机械师,他应该能够访问他所在的各个商店的信息。我可以用我当前的数据库设计来做到这一点,但我被困在如何向用户授予帐户级别权限上。例如,当 Bob 创建帐户时,他是帐户“所有者”,因此他应该能够自动执行所有公司的管理操作。我还应该能够拥有其他可以访问所有公司的“帐户管理员”。或者,如果我想授予用户对帐户的“计费”访问权限,他应该只能看到计费信息,而不必是各个公司的成员。
是否像使用 account_roles 表在帐户和用户之间创建一个 account_users 连接表一样简单?还是我错过了其他东西。任何帮助将不胜感激。
【问题讨论】:
-
链接不再有效。可以更新吗?
标签: sql postgresql roles access-control user-accounts