ASP.NET Core

ASP.NET Core Razor Pages - Identity フレームワークのスキャフォールディング

2022年1月8日

Identity フレームワークは、デフォルトでインストールした状態では、ログイン画面、ユーザー登録画面などの編集を行うことができない状態になっています。Identity フレームワークが提供する各種ページを編集できるように、スキャフォールディングしましょう。

Identity フレームワークのスキャフォールディングを実行するには、予め Package Manager コンソールで次のコマンドを実行し、EntityFramework 経由でデータベースの更新を行っておきます。

PM> dotnet ef database update

コマンド実行後、次の様に「Done.」を表示されると正しく処理が完了しています。

ここから、実際に Identity フレームワークのスキャフォールディング作業になります。

ソリューションエクスプローラーからプロジェクトファイルを右クリックし、コンテキストメニューを「追加」→「新規スキャフォールディングアイテム」と進みます。

表示されるダイアログから、「ID」を選択します。

続いて表示される「ID の追加」ダイアログで、「すべてのファイルをオーバーライド」を選択し、「データコンテキストクラス」には、ApplicationDbContext を選択します。

Visual Studio のソリューションエクスプローラーから、Identity フォルダ配下に複数のファイルと、Account フォルダ、及び、Account フォルダ配下に複数の cshtml ファイル等が生成されていることが確認できます。

これら cshtml ファイルがプロジェクト内で利用されているかを確認すべく、ログイン画面を編集してみましょう。Login.cshtml に div タグを加えてみます。

アプリケーションを実行し、ログイン画面を開くと、確かに追加した div タグの内容が画面に反映されています。

-ASP.NET Core