サンプル実行
それでは、変更したサンプルを実際に動かしてみましょう。まず、新しいアプリケーションを作成した直後なので、ユーザーの登録を行います。ASP.NET Identity 2.0のテンプレートでは、ユーザー名からメールアドレスにログインアカウントが変更されているのに注意しましょう。
登録を終えるとホームページに戻るので、画面右上の「Hello, (メールアドレス) !」となっているリンクをクリックして、ユーザー管理画面を表示します(図7)。
ユーザー管理画面では、追加した「プロファイルの変更フォーム」が確認できます(図8)。まだ、新たに追加したプロファイル項目は値を設定していないため、空で表示されます。
誕生日に日付以外を入力すると、エラーとなることも確認できます(図9)。
姓、名、誕生日に値を入力して「プロファイルの更新」ボタンをクリックすると、更新が行われ画面が再表示されます(図10)。完了メッセージの表示も確認できます。
また、AspNetUsersテーブルを見ると、入力した値で更新されたことが確認できます(図11)。
まとめ
ASP.NET Identityのサンプルを使い、プロファイル情報を追加し、その内容を編集する方法を紹介してきました。大部分の作業が自動化されているため、思いのほか簡単にできることが分かったのではないかと思います。今回の手順をまとめると、次のようになります。
- ApplicationUserクラスに追加するプロファイル項目をプロパティとして定義する
-
EFのマイグレーション機能を使って、データストアのテーブルを変更する
- Enabel-Migratiosコマンド:マイグレーション機能を有効にする
- Add-Migrationコマンド:ApplicationUserクラスの変更を元に、マイグレーション処理を行うクラスを生成する
- Update-Databaseコマンド:マイグレーションを実行する
-
追加したプロファイル項目を管理画面などで使用する
- ログインユーザーの情報を取得するには、UserManagerクラスの拡張メソッドである、FindByIdメソッドを使う
- 引数にはHttpContextのUserプロパティに設定された値を使用する
- ユーザー情報を更新するには、UserManagerクラスの拡張メソッドであるUpdateメソッドを使う
次回は、先日リリースされたASP.NET Identity 2.0の新機能について、VS2013 Update 2のテンプレートを使って説明する予定です。お楽しみに。