12

使用に関する他のさまざまな質問を読んできましたが、プロジェクトが階層で開発されている場合、既存のデータベースでの使用に関して具体的なことは何もわかりません。議論のために、次のことが正しいとします。

  • 解決
    • WebUI
    • サービス
      • ユーザーサービス
    • データ
      • MyDbContext
      • ユーザー

User(Coreプロジェクトから)IUserStore新しい ID プロバイダーを指定するにはどうすればよいですか? それとも、Web サイトとメンバーシップ データベースが常に同じプロジェクトに存在することを前提としていますか (またはMicrosoft.AspNet.Identity.*、モデルが存在するライブラリへの厳密な参照があります)。

認証のためだけに WebUI レイヤーで DbContext を設定する (そしてそれをサービスで "MyDbContext" に結び付ける) ことは、ハックに思えます。何か足りないのでしょうか、それともチームはこれを単純なアプリケーションでのみ使用することを計画していたのですか?

フィードバックをいただければ幸いです。

詳しくは

言及する価値がある場合:

  • これはまったく新しいソリューションです。心配する古い/既存のテーブルはありません。私は、他のさまざまなカスタム ソリューションを採用し、それらを 1 つの堅実なソリューションに結び付けようとしているので、多くのオプションを受け入れることができます。ただし、レイヤーごとに分けておきたいと思います(可能な場合)。aspnet_*webpages_*
4

1 に答える 1

3

Asp.net Identity Framework は、アプリケーションがユーザー ID を操作するのに役立つ一連のコンポーネントです。コア フレームワーク ブロックがMicrosoft.AspNet.Identity.Core組み立てられています。2 つ目Microsoft.AspNet.Identity.EntityFrameworkは、コア フレームワークのデータ永続化の実装です。

AppUsern 層アプリケーションでは、任意のプロジェクト/アセンブリでモデルを定義できます。から継承する必要がありMicrosoft.AspNet.Identity.EntityFramework.IdentityUserます。したがって、アプローチに基づいて、特定のアセンブリを参照する必要があります。

MyDbContext についても同様です。現在のみ利用可能な Persistence から継承する必要がありますMicrosoft.AspNet.Identity.EntityFramework.IdentityDbContext<TUser>。MyDbContext は、他のプロジェクト/アセンブリにある可能性があります。AppUserこのプロジェクト/アセンブリでもアセンブリを参照する必要があります。

于 2013-11-08T17:17:19.497 に答える