誰でも助けることができますか?
アクセス許可を管理するための優れたリレーショナル モデルを作成したいと考えています。
現在、Users テーブルと、Customers、Suppliers などのさまざまなテーブルがあります。
ユーザーには、Customers または Suppliers のいずれかで表示、編集、作成する権限が必要です。
これらのテーブルを EF で使用して、ユーザーが持つアクセス権と天気を判断してフォームを表示するかどうかなどを決定します。
私の元のモデルは次のようになりますが、パーミッションについて何も述べていないため、間違っていると思います。
Users UsersCustomers (Users と Customers の間の関係を含む) UsersSuppliers (Users と Suppliers の間の関係を含む) Customers (customer テーブル) Suppliers (suppliers テーブル)。
これは機能しますが、たとえば、ユーザーを顧客に関連付けます...それは正しくないようです。
ユーザーテーブルをリンクするIDとUserIdを持つPermissionsという中間テーブルを置くことを考えていました。次に、アクセス許可を次のようなテーブルにリンクできます
アクセス許可と顧客の間の関係を含む PermissionsCustomers (UsersCustomers の代わり)。
これは、最適な設計が得られていないところだと思います。この設計が正しければ、ユーザーが顧客に持つ権限のタイプ (編集、作成、または表示のみなど) を割り当てるためのテーブルも欠落します。
フィードバックや、このように機能する強力なモデルの例を聞きたいです。
顧客、サプライヤーに関しては、これらは 2 つの例に過ぎず、deliveryLocation、accountsLedger などのテーブルがさらにたくさんあります。
「ユーザーXが持っているすべての権限を表示する」というクエリを実行できれば素晴らしいと思います.現在、私のセットアップでは、各中間テーブルを個別にクエリする必要があります.
ORM のようなエンティティ フレームワークを介してこれを使用します。
リレーショナル モデルの構造に少し迷いました。
前もって感謝します。