メンバーシップ/認証にAsp.Net Identity
を使用するマルチテナントWeb /モバイルアプリケーションがあります。ユーザーはアンドロイドアプリ経由で、またはウェブインターフェース経由で直接アプリを使用できます。彼らはアプリケーションを使用するために登録する必要があります。マルチテナントアプリのアイデンティティは、電子メールまたはユーザー名の複製を許可します。
問題は、複数のテナントで同時に登録することはできない電子メール/ユーザー名/電話番号が1つのユーザーです。たとえば、テナントが会計専念であり、別のテナントがメッセージング専用であるとします。ユーザーは、両方とも1つの固有の電子メール/ユーザー名/電話で登録したいと考えています。しかし、Identity
は、電子メール/ユーザー名/電話の複製を自然に許可していません。
私は、IdentityUser
エンティティにAppId
を導入しました。したがって、どのユーザーがどのアプリケーションに属しているのかは明らかです。回避策はAppId
を使用することです。たとえば、username
の前にAppId
を付けると、一意になります。
このシナリオに適したデザインはありますか?
のインスタンスを取る
UserManager.UserValidator
に差し込みます。 – trailmax@trailmaxそれは良い点ですが、クライアントは、これらのアプリケーションが同じデータベースでホストされていることを誰も知らないオプションが必要です。 –