我正在建立一个网站,在其中,我试图遵循rbac (基于角色的访问控制)模型。现在,问题是管理人员需要将他们的合同建议书发送给审批者(那些能看到公司是否能遵守合同的人)。
但是,由于我有rbac模型,管理员可以创建许多角色,我如何确保有用户将批准合同?
我正在考虑拥有一个名为is_approver的属性,当管理员注册一个新用户(如果他是审批者)时,可以检查这个属性。
另一种可能是让经理选择应接受其合同建议书供批准的用户。但这样,他就可以将合同提案发送给那些甚至不对此负责的用户。
我怎样才能确保系统中有审批者,尽管采用rbac模式,并且合同提案将提交给正确的用户?
发布于 2017-05-09 21:52:17
您的(简化的)数据库模式应该如下所示:

因此,您的权限表将在其中包含一个带有"Contract“的PermissionType的条目。然后将记录添加到Role_Permission表中,以便将权限表中的"Contract“记录与每个应该具有Contract权限的角色相关联。
https://softwareengineering.stackexchange.com/questions/348643
复制相似问题