ASP.NET IDを使用してマルチテナントユーザーログインを実装する方法
-
21-12-2019 - |
質問
マルチテナントソリューションを開発しています。最新の app.net Identity フレームワーク特に
基本的に私は2人のユーザーが同じユーザー名を持つことを許可する必要がありますが、テナント内で一意である必要がありますが、Twitter、Microsoft、Facebook、およびGoogleなどの外部サインインを利用したいと思います。
私が知ることができるものから、枠組みはマルチテナントを念頭に置いて設計されていませんでしたが、拡張性を可能にします。私はできるだけ多くの既存のコンポーネントを利用することを好みますが、私は Entity Framework 実装、そしてそれをすべて自分でコード化します。
他の誰かがこれを試してみました、そして彼らは自分自身をどのくらいコードさせなければならなかったか。
解決
私はGitHubリポジトリで共有している作業解決策を得ました:
https://github.com/jskimming/aspnet.Identity.EntityFramework.Multitenant
マルチテナントをサポートするために必要な拡張性は、 Microsoft.aspNet.Identity.EntityFramework (少なくともたくさんのカスタム作業がなければ)は、現在 inhawsly asp.net WebスタックNugetパッケージ
私はNUGETパッケージとして作成したものをリリースすることにしました aspnet.entityFramework .multitenant は現在、現在述べられているように夜間ASP.NET WebスタックNUGETパッケージ
マルチテナントを許可するためにパッケージを使用する2つの単純なサイトを提供しました:
- 標準のMVC5テンプレートプロジェクトであるVanilla Implementation それは文字列の主キーを使います。
- マルチテナントを提供するのに必要な変更は、この COMMIT 。
- 整数主キー実装これはいくつかを作っています整数主キーを使用するためのより多くのカスタマイズ
- マルチテナントを提供するのに必要な変更は、この COMMIT 。
1.1バージョンのASP.NET IDがリリースされるため、ソリューションを更新する予定です。
他の人が私がリリースしたNUGETパッケージで何らかの使用を見つけることを願っています、私がリリースしたNUGETパッケージで何らかの使用を見つけてください。フィードバックは歓迎されていて、あなたが見つけた問題を発生させる
更新
現在の Microsoft.aspNet.Identityの2.0リリースを使用するように更新されました。 .entityFramework
他のヒント
ええ、これを拡張シナリオとして明示的に残しました。あなたはUSERManagerのプロパティを上書きし、あなた自身のカスタムイオサスターを実装することによってこれを行うことができるはずです。あなたは潜在的にEF UserStoreを拡張することができるかもしれませんが、あなたのユーザーにtenantidを追加するだけです。