11

私は Visual Studio 2013 RC で作業しており、新しいMicrosoft.AspNet.Identity.*パッケージを使用してフォーム認証をテストしています。

これらの概念 (ユーザー、ロールなど) を統合したいのですが、別のアセンブリにある独自のドメイン モデル (POCO) を使用したいと考えています。また、dll への依存関係を作成したくありませんMicrosoft.AspNet.Identity.*

それは可能ですか?そうではないというこの記事を見つけましたが、この記事は ID パッケージの RC バージョンではなくプレビューに基づいて書かれています。

4

3 に答える 3

5

ここにあるサンプル プロジェクトを更新しました: Identity RC1 sample

エンティティ フレームワーク モデルを実装するようになりましたが、Microsoft.AspNet.Identity.EntityFramework への参照も必要です。これは、すべての Store クラスも再実装したくなかったからです。ただし、このサンプルは、モデルに独自の POCO クラスを使用する方法を示しています。

モデル アセンブリから Microsoft.AspNet.Identity.EntityFramework への依存を完全に削除する場合は、次のインターフェイスのプロパティを持つ IIdentityStore インターフェイスを実装するクラスを実装する必要があります。

  • IUserLoginStore
  • IRoleStore
  • IUserSecretStore
  • ITokenStore
  • IUserClaimStore
  • IUserManagementStore
  • IUserStore

IIdentityStore クラスは、モデル アセンブリへの参照を使用して、モデル アセンブリとは別のアセンブリにある必要があります。IIdentityStore アセンブリは、ASP.Net Identity コアに依存します。

IIdentityStore のカスタム実装は、POCO クラスとの間で IUser、IUserSecret などの ASP.Net Identity インターフェイスに変換できるようにする必要があります。

とにかくストアに EF を使用している場合、ほとんど利益を得るために多くの作業を行うように思えます。

AspNet.Identity.Core アセンブリに依存し、いくつかの POCO クラスにそれぞれ 1 つの小さなインターフェイスを実装することは、私にはずっと簡単に思えます。

于 2013-09-11T20:50:54.203 に答える
1

念のため。多分私は誰かを助けることができます。 asp.net.Identity からのエンティティ フレームワークの実行

別のプロジェクト (クラス ライブラリ) を作成し、ref を asp.identity.core に追加してから、そこに UserStore クラスを実装し、Web プロジェクトで Identity 構成をフィードしました。

複雑な n 層アーキテクチャのプロジェクトで問題なく動作します。

于 2015-08-25T19:20:26.350 に答える