2

マルチテナント(クライアントごとに個別のデータベース)モデルでは、Microsoft MembershipProviderまたはSimpleMembershipプロバイダーのいずれかを使用することが可能ですか、それとも望ましいですか?

元のメンバーシッププロバイダーはweb.configから構成され、Simplemembershipprovider(MVC4テンプレート内)には、セッションまたは要求ごとではなく、アプリケーションの開始ごとにデータベースを初期化するメソッドがあります。

したがって、メンバーシップ/シンプルメンバーシッププロバイダーがアプリケーションまたは原則に関連付けられている場合は、データベース接続を変更して、要求ごとに要求元のクライアントデータベースを指すようにするのが賢明ですか?

4

3 に答える 3

1

私のカスタムメンバーシッププロバイダーで可能です:

http://blog.gauffin.org/2011/09/a-more-structured-membershipprovider/

IAccountRepositorySqlServerパッケージのカスタムの上にカスタムを作成します。独自のプロバイダーを実装するよりもはるかに簡単です。

于 2012-09-10T08:45:42.397 に答える
0

依存性注入を使用して、テナント要求ごとにカスタムメンバーシップ プロバイダーを追加する必要があることを確認しました。徹底的な調査により、メンバーシップ プロバイダーの接続を変更できず、要求が完了する前に別の要求によって再変更されていないことを確認できなかったことが明らかになりました。そのシングルトン設計のため。

乾杯ティム

于 2012-09-21T09:22:24.083 に答える
0

ASP.NET: Supporting Dynamic Applicationsのコードに基づいて、それに非常によく似たものを見て実装しました 。

これは、あなたが求めているものと同じではありません。ここでの目標は、同じメンバーシップ データベースを使用することですが、クライアントごとに異なるアプリケーション名を使用することです。

ただし、接続文字列を動的に設定する方法がわかりSqlMembershipProviderません-そのプロパティを公開しません。から始めることInitializeもできますが、前述のとおり、リクエストごとに実行されるわけではありません。SqlMembershipProvider独自のプロバイダーを作成し、要求ごとに内部を作成するオプションもあります。

于 2012-09-10T08:37:20.280 に答える