柔軟かつ簡単に(そのようなものが存在する場合)実装すると同時に、可能であれば組み込みの手段を利用する必要がある
これまでのところ、MembershipProviderとRoleProvidersを実装しています。これはかっこいいですが、次にどこに行きますか?
「特権」という用語を追加し、アプリケーション内にハードコードする必要があるように感じます。ユーザーは、特権を役割に追加し、役割をユーザーに割り当てるように役割を構成します。
それは良いモデルのように聞こえますか?ロールに追加することに加えて、ユーザーレベルで特権を追加することを検討する必要がありますか?セットアップ(混乱)と次のサポートに問題があると思います。
そうしないと、一部の特定のユーザーにはより少ない特権が必要になります-管理者は別のロールを作成する必要があります。
このようなシステムの特効薬はありますか?そして、なぜMicrosoftはメンバーシップとロールプロバイダーよりも先に進まなかったのですか?
別のアイデア:ロールを「特権」ホルダーのままにして、ハードコーディングします。次に、使用可能なすべてのマークアップ/属性などを使用して、アプリ内のこれらのロールをコード化できます-すべてMicrosoft。
新しいエンティティ「グループ」を追加し、このような関係を作成します
- ユーザー
- ユーザーグループ
- 団体
- RoleGroups
- 役割
この方法で、ロールをグループにまとめ、それらのグループをユーザーに割り当てることができます。素晴らしいサウンドで、他のソフトウェアパターンと一致します。しかし、実際にはRoleProvider内に次のようなものを実装することはできません。
- AddUsersToRoles
- RemoveUsersFromRoles
そして、ハードコーディングされるため、いくつかのものが実際にはもう意味をなさない
- DeleteRole
- CreateRole