我在我的系统中遵循rbac模型。我想知道是否应该预先填充资源和权限表?
我拥有合同、contract_drafts、SLA (服务水平协议)等资源,以及创建合同、修改合同、批准合同等权限。
现在,我想知道当我把主资源和权限给用户时,系统是否应该已经加载到它中了?
因为,如果我需要知道某个角色对合同资源的权限,但该契约资源甚至还没有由管理员创建呢?
我怎样才能确保系统中有合同资源?
或者只有角色和用户才是管理员所能控制的?这意味着权限和资源将预先定义。他只需将它们分配给正确的角色和用户即可。
允许管理员创建资源可以发生的另一件事是,他甚至可能创建一个名为电子的资源,这与我的系统没有任何关系。
请随时要求澄清。
发布于 2017-05-11 16:11:01
这与您在RBAC与数据库设计RBAC与数据库设计上的另一个问题相关联。不,您不应该必须预先填充权限。此外,如果记录(契约)不存在,您如何可能已经填充权限。
这就是ABAC (基于属性的访问控制)派上用场的地方。在ABAC中,您不需要预先填充(提供)权限。在运行时根据用户标识(Alice)、预期操作(视图)和资源标识(契约#123)检查授权。
如果您坚持使用RBAC,您将不得不考虑对象的生命周期。什么时候订立合同?谁拥有它?您是否应该预先填充权限(在创建时)?
发布于 2017-05-12 19:56:43
我想知道是否应该预先填充资源和权限表?现在,我想知道当我把主资源和权限给用户时,系统是否应该已经加载到它中了?
答案和往常一样取决于。
这可能取决于:
您的客户可能在SLA中包含了初始数据负载。让我们假设数据可以手动引入,但是,由于数据的大小,需要花费太多的精力和时间。想在孤独的管理中手工加载系统中的十万用户、资源等。
同样的场景,大量的数据,但这一次,没有公共接口(没有API,没有网页,没有应用程序,.)
好吧,就是这个。想一想,客户已经将信息存储在文档中,如: excels,xml,csv,pdf,.
如果您不确定预加载,请先向项目经理询问。即使初始负载尚未确定,客户也可能感兴趣。
如果是这样的话,通常是最后这个人向你提供数据或它的来源。
https://softwareengineering.stackexchange.com/questions/348674
复制相似问题