4

私はasp.net IDを使用しており、IdentityUserから継承するユーザークラスが多数あります。

次のような継承チェーンがあるとしましょう。

IdentityUser <- AppUser <- ServiceUser <- ServiceEmployee および ServiceCustomer (両方とも ServiceUser から継承)。

統一されたログインフォームを作成しようとするとき、最善の戦略は何ですか?

OTB アカウント コントローラーを使用し、ServiceUser を使用するように UserManager を変更しても、ServiceEmployee として登録されたアカウントにログインしようとすると失敗します。アカウントが別の「タイプ」として登録されているため、ログインに使用できません。そのため、登録タイプとログインタイプが異なる場合、これはどの組み合わせでも発生します。

複数の UserManagers を使用するようにログイン アクションを更新して、各ユーザー タイプに対してチェックを行う必要がありますか、それとも私が達成しようとしていることを行うためのより良い方法がありますか。

情報をありがとう。

4

1 に答える 1

0

ID ユーザーと独自のアプリケーション ユーザーを分離することを検討しましたか? 意味Userとは、ID 情報を保持するPersonものであり、アプリケーションの残りの部分が使用するもの (および Employee などの他の型が継承するもの) です。これが私自身のやり方です。私はすべてのセキュリティ/ID を完全に分離して (別のプロジェクト/コンテキストで)保持し、私にとってはうまく機能するエンティティUserPersonエンティティのみをリンクします。アプリケーションの残りの部分に影響を与えることなく、セキュリティ モデルを維持および更新するのがはるかに簡単です。

于 2014-03-20T18:55:23.017 に答える