2017-07-29 22 views
0

私は、支払いゲートウェイを処理するWebアプリケーション用のクラスを用意しています。アプリケーションは、Identity 2.0を使用してユーザーを処理および管理するASP.NET Webアプリケーションになります。私はアプリケーションにサインインする4種類のユーザー/ロールを持っています。異なるユーザロールとOOP継承を使用してASP.NET IDユーザーを管理する方法

  1. お客様
  2. 業者
  3. 従業員

は、これらのユーザー・クラスのいくつかは、他のユーザーよりもストアされる追加データを持っている下請業者の

例。私はこれをどう扱うかを考えようとしています。

例:お客様が指定した請負業者を使用します。他のユーザ(下請け業者、請負業者、従業員)はこのプロパティを持ちません。

これらの異なる役割を処理するために、またはデフォルトのappliationsuserクラスから継承を使用して4つの異なるオブジェクトを作成する必要がある場合には、デフォルトのrolemanagerを使用できますか?

答えて

2

あなたはASP.Net Identiyを使っているので、私はこのようなものでしょう:

  • IdentityRoleテーブルに次の役割名入れ:CustomersContractorsSubContractorsEmployeesを。または、あなたのアプリケーションを使用する人のためだけに。
  • 新しいクラスを作成:CustomerContractorSubContractorおよびEmployee。これらのクラスはIdentityUserクラスから派生する必要があります。
  • すべての特定のプロパティは、関連付けられた派生クラスに定義する必要があります。したがって、顧客は指定されたContractorを持つことになるので、タイプContractorのプロパティをCustomerクラスに作成します。
  • ここで注意しなければならないのは、Userから派生したインスタンスを作成するときに、正しい役割を追加していることを確認することだけです。
+0

1つのApplicationUserクラスの代わりに4つの別々のクラスを持つようになりました。 – dev8989

+0

1つのクラスのApplicationUserを使用できますが、すべての特定のプロパティが同じクラスになります。したがって、チームの一部の開発者は、Employeeインスタンスを作成している間に顧客の特定のプロパティを設定します。派生クラスは、そのようなことを避けます。 – CodeNotFound

関連する問題