我對我的頭上坦白地說明了實體級授權的要求。我希望得到關於這個權限結構的一些指導,我如何在.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之上。