5

ASP.NET MVCを使用してマルチテナントアプリを構築していますが、ユーザーの検証に問題があります。

状況

私は持っています:

-User(ID、Name、FirstName、Email)のテーブルこのテーブルは、2つのテナントに登録されているユーザーが再度ログインする必要がないように作成されています。

-Tentantuser(ID、TenantID、UserID(FKからテーブルUser)、UserName、Loginname、Password、Active)を含むテーブルこのテーブルには、1つのテナントのdeloginenパスワードが含まれています。

例:

  • UserXはTenantAとTenantBに登録されています
  • UserXは、TenantAのログインとパスワードを使用してTenantAにログインします。
  • システムが検証するか、ログインとパスワードがテーブルTenantUserで正しいことを確認します
  • システムは、UserXを検証します。このuserIDは、テーブルUserのIDに対応します。
  • UserXはTenantBに移動し、自動的にログインします

私の問題:

テナントのログインとパスワードを確認できるように、カスタムプロバイダーを作成するにはどうすればよいですか?例えば:

public abstract bool ValidateUser(string username,string password);

ユーザーがどのテナントにいるのか、プロバイダーにどのように伝えることができますか?

これを次のように変更するにはどうすればよいですか。

 public overrides bool ValidateUser(string username,string password, string tenant); ?

または、この問題を解決する別の方法は何ですか?

4

1 に答える 1

5

アプリケーション名パラメーターを使用して、構成ファイルで指定できるテナント a/b を識別できます。次に、カスタム プロバイダーで、これを使用してテナントの適切なエントリを取得できます。カスタム メソッドの設定に取り掛からないでください。それは苦痛でしょう。

HTH。

于 2010-05-20T14:57:09.047 に答える