率直に言って、エンティティ レベルの承認の要件があります。このアクセス許可構造、.NET 4.5 での実装方法、および改善方法があるかどうかについて、何らかのガイダンスを得たいと考えています。
ここに行きます:
次のように構造化された一連のデータがあります。
どこ
- a
Fleet
は 0 個以上のコレクションですCars
。 - 他のもの
Fleet
を含むことができますFleets
フリートは後で再編成し、組織的な目的のために移動することができます。
私は、これらのエンティティに関連するシステムでのアクセス許可を持ついくつかの役割を持っています:
- 所有者: フリートから車を追加または削除できます
- マネージャー: 車にドライバーを割り当てます
- Driver : 車を運転するだけでよい
- 整備士: 車を修理することが許可されています
承認ロジックにより、システム内の に、または1 つ以上の役割を持つUser
へのアクセスを許可できます。Fleet
Car
説明に役立ついくつかのシナリオを次に示します。
- の役割で
User
ジムにFleet
#5へのアクセスを許可するとDriver
、彼はフリート #2 の下で任意の車を運転することが許可されます。結果の許可により、彼は車 #4、5、6 を運転することができます - ユーザーMauraに整備士としてのアクセス権を付与
Car #1
すると、結果のアクセス許可により、Maura は車 #1 のみを修理することができます。 - ユーザーSarahに Fleet #2 へのアクセス権をロール
Owner
とで付与するとMechanic
、彼女は、Fleet #2、4、5 に車を追加および削除することが許可され、さらに、車#1、2、3、4、5、6 を修理することが許可されます. - フリート #1 へのアクセス権をジェレミーに付与し、フリート #6へのアクセス権を として付与すると、ジェレミーはすべてのフリートに車を追加
Owner
およびDriver
削除し、車 #7、8 を運転することができます。彼は # 以外の車を運転することはできません。 7と8。
このエンティティ レベルの承認への適切なアプローチは何ですか?
重要な場合は、 ASP.net Boilerplateの上に構築された EF6 Code First で .NET 4.5.1 を使用しています。