ASP.NET MVCプロジェクトにIdentityユーザー認証機能を追加する
とりあえずチュートリアルに従ってアプリを作る。
そうだ、ユーザー認証機能を追加しよう。
というときのためのメモです。
また、Identityユーザー認証機能を後付するとプロジェクト内にIdentityで使われるクラスやページのソースコードが作成されるので、いろいろアレンジしやすいです。
Identityユーザー認証機能の追加
追加自体はとても簡単です。 スキャフォールディングによって作成されます。
ソリューションエクスプローラで右クリックしてコンテキストメニューから追加
> 新規スキャフォールディングアイテム
を選択します。
スキャフォールディングを追加
ウィンドウが開くので、左ペインからID
を選択して右下の追加
ボタンを押します。
IDの追加
ウィンドウが開く。
とりあえずやること。
Startup.csの編集
認証機能を使うことを指定する。
Configure
メソッドに以下を追加
これはapp.UseMVC
よりも前に置くこと。
app.UseAuthentication();
_Layout.cshtmlの編集
Identityのスキャフォールディングで_LoginPartial.cshtml
が作成されているので、これがサイトのヘッダ部分に表示されるようにする。
<partial name="_LoginPartial" />
を埋め込む。
<header> <nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3"> <div class="container"> ・・・ <div class="navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse"> <partial name="_LoginPartial" /> ・・・ </div> </div> </nav> </header>
IdentityのLoginページやRegisterページはライブラリ内に保持されているので、直接編集などはできない。 困ったな。
わかった!!!
IDの追加
画面で、オーバーライドする項目でチェックをつけたページがAreas/Identity/Pages/Account
内に作成されて、オーバーライドという形で編集できるようになる。