6

SOを検索しましたが、シナリオに一致するものは見つかりませんでした...

マルチ テナント環境 - 複数のメンバーシップ プロバイダー、テナントごとに 1 DB、Azure 上の 1 つのアプリケーション...

質問は非常に簡単です。

Asp.net メンバーシップ プロバイダーをこのように構成できますか? 方法の手がかりはありますか?

これで質問がわかったので、詳細に進みましょう...

このスタックは Azure 上で実行され、永続データ用の SQL Azure、ASP.net メンバーシップ、MVC4、EF5、およびいくつかの見栄えの良いもの...

課題は次のとおりです。

  1. Azure で単一のアプリを実行するマルチテナント環境を作成します (ワーカー ロールと Web ロール、ただしテナント固有または指向ではありません)。

  2. データベースの 1 対 1 の分離 (テナントごとに 1 つのデータベース)。

  3. 各テナントによって作成されたユーザーを認証および承認するために、各データベースで実行される 1 つの Asp.net メンバーシップ。

  4. 共有データと管理者ユーザー (メイン サイト管理者とテナント管理者) のみがログインするメインの Asp.net メンバーシップを保持する 1 つのメイン データベース...

メインのデータベースを除いて、すべてのデータベースはまったく同じ構造を持っていることに注意してください...

役立つかどうかはわかりませんが、スタックには MVC4、EF5 (DB First アプローチ) も含まれています。

実際、私は MVC ルート メカニズムを使用してテナント ID を収集し、すべての操作が適用される特定の Db コンテキストを設定することを検討していました。

何か案は?

4

2 に答える 2

0

実行時に ASP.NET メンバーシップ データベース接続文字列を構成できるはずです。 このスレッドには、カスタム メンバーシップ プロバイダーや、Global.asax.cs を介した要求ライフサイクルの早い段階での値の変更など、いくつかのオプションがあります。

于 2013-08-09T00:44:31.147 に答える
0

既定では、asp.net メンバーシップは、特定のユーザーのメンバーシップとロールの詳細を識別するためのテナント識別子の概念をサポートしていないため、マルチテナント環境には適していません。カスタム メンバーシップ プロバイダーを使用するか、フェデレーションまたは SSO を使用して、ユーザーがアプリケーションを使用するときに持ち込む SSO ロールにアプリケーション ロールをマッピングすることができます。

于 2013-04-28T17:23:14.583 に答える