我对我的头上坦白地说明了实体级授权的要求。我希望得到关于这个权限结构的一些指导,我如何在.NET 4.5中实现它,以及是否有办法改进它。分层数据方案中的实体级访问控制
这里有云:
我有一组结构化数据如下:
凡
- 一个
Fleet
是零个或多个集合Cars
。 - 一个
Fleet
可以包含其他Fleets
舰队以后可以重新组织和移动周围组织的目的。
我必须与系统中的权限,身兼数职,涉及到这些实体:
- 业主:可以从舰队
- 经理添加或删除汽车:指定司机汽车
- 驱动程序:允许简单驱动汽车
- 机械师:被允许修理汽车
授权逻辑允许User
在系统中被授予到任何一个Fleet
或与一个或多个角色一个Car
访问。
这里有一些方案,以帮助解释:
- 如果我承认
User
吉姆访问Fleet
#5与Driver
的角色,他被允许下驱动舰队#2的任何汽车。由此产生的权限允许他驾驶汽车#4,5,6 - 如果我授予用户Maura作为Mechanic访问
Car #1
,最终的权限允许她只修理1号车。 - 如果我授予用户萨拉访问舰队#2与角色
Owner
和Mechanic
,她被允许汽车中添加或删除她被允许修理汽车#1机队#2,4,5 和, 2,3,4,5,6。 - 如果我授予用户杰里米访问船队#1作为
Owner
和舰队#6作为Driver
,得到的权限,让他的汽车添加和删除所有车队和驱动汽车#7, 8.他不能开车超过#7和8
什么是一个好方法,这个实体级授权以外的任何其他汽车?
如果很重要,我们使用.NET 4.5.1和EF6 Code First,构建于ASP.net Boilerplate之上。