ピースペース

MVC5でIdentityModelを別アセンブリに移動する

leave a comment »

そんなことをする必要がある場合はあるのか??
もし、MVCとWebAPIを別サイトにしたいとか
他にも、同じユーザーを共有するサイトをあとから追加する予定があるとか。
新しいサイトのプロジェクトを開始するとき、ログインをどうするか?は、結構悩む。

とにかく、同じユーザーを共有する複数のサイトを想定すると、
ApplicationUserの定義を共有するには別ライブラリにするしかない。
新しいクラスライブラリプロジェクトに
ASP.NET Identity EntityFrameworkパッケージを追加して、
IdentityModels.csファイルを移動するだけで問題なく動いた。
やるな!>Identity EntityFramework

問題は、ApplicationUserのIdentityDbContextと、
その他のEntityのDBContextを同じにするべきか?分けるべきか?
は悩む; が、同じContextである必要はない気がする。
Contextを別々にしても、constructorに指定する名前を同じにしておけば、
ひとつのDBに格納することはできる。

さて、サイトの認証方法が「個別アカウント」であれば、
ユーザーは同じあっても各サイト毎にログインは必要になる。
会社内で使うアプリだとそれは不評になるかもしれない。
シングルサインオンしたい!ということなら、
ユーザーはAzureADに格納してAzureADにログインする。が手っ取り早い。

Written by nasu38yen

2016年8月23日 @ 7:18 PM

カテゴリー: .NET

Tagged with

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。