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); ?
または、この問題を解決する別の方法は何ですか?