2

マルチテナント ASP.Net MVC 4 アプリケーションの DI (Unity と Ninject) に関する調査を行ってきました。私が読んだほとんどの記事では、マルチテナント Web アプリケーションでテナントをカスタマイズするのに役立つ優れたツールとして DI について言及しているようです。それ以外に、マルチテナントの世界で役立つことは何ですか。

共有データベース スキーマ シナリオでのデータ分離に役立ちますか? 顧客間でデータを分離するためのクリーンな方法を見つけようとしています。(必要に応じてすべてのテーブルで tenantId を使用しています)

(ASP.Net MVC4、Entity Framework 5、SQL Server 2012)

4

1 に答える 1

0

私見ですが、共有スキーマを使用するマルチテナント アプリケーションでのデータ分離に関する限り、オブジェクトの依存関係を解決するのに役立つだけなので、DI コンテナーの使用は想定していません。オペレーティング テナントまたはコンテキスト テナントに基づいてデータをフィルター処理するセキュリティ制御メカニズムとテナント分離プラクティスをアプリケーションに用意するのは、開発者次第です。

テナント識別子をプレゼンテーション層からデータベース アクセスまで他のレイヤー全体に持ち越す必要があります。テナントに基づいてデータをフィルター処理するのは、アクセス ロジック内です。これは、テーブル内のテナント識別子を使用して実行できます。

また、単一コード ベースのアプローチでは、テナントを識別するために依存関係を注入する必要はありません。操作ユーザーとそのテナント コンテキストのテナントの識別と検証は、認証と承認の段階でアプリケーションによって行われます。

これがあなたの質問に対処することを願っています

于 2013-03-24T14:25:29.327 に答える