株式会社インデペンデンスシステムズ横浜

システム開発エンジニアの西田五郎が運営しております。Raspberry Pi や Arduino その他新規開発案件のご依頼をお待ちしております。

*

ASP.NETユーザ管理(その2)WebFormsでのASP.NET Identity

   

ASP.NETユーザ管理の2回目です。前回は、主にASP.NET Identityとはといった概要的な内容について書きました。今回から実際に動作させながら確認します。

WebFormsのテンプレートを元にいろいろとカスタマイズをしようと考えていますが、ASP.NET Identityというフレームワークとしては、WebForms、MVCをはじめ、ASP.NET共通で使えます。Microsoft.AspNet.Identityという名前空間があって、ここに、ASP.NET Identityのクラス、インタフェース関連があります。以下、代表的と思えるものです。実際には、これらのクラス、インターフェースを利用、拡張して開発を行います。

Microsoft.AspNet.Identity.IUserインターフェース
最小単位のユーザインターフェイス

Microsoft.AspNet.Identity.IRoleインターフェース
最小単位のロールインターフェイス

Microsoft.AspNet.Identity.UserManagerクラス
ログイン、ユーザの検索等、一連のユーザ管理のクラス

Microsoft.AspNet.Identity.RoleManagerクラス
ロールとユーザの関連付け等、一連のロール管理クラス

Microsoft.AspNet.Identity.EntityFramework.IdentityUser
既定の EntityFramework IUser 実装

Microsoft.AspNet.Identity.EntityFramework.IdentityRole
ロールのエンティティ

Microsoft.AspNet.Identity.EntityFramework.IdentityDbContext
既定のエンティティ タイプを使用する既定の DB コンテキスト

あと、Owinに関連するクラスも必要になってきます。

以上は、ほぼ以下からの引用です。
Microsoft ASP.NET Identity

今回は、ASP.NET WebFormsのテンプレートの初期状態で、以上のASP.NET Identityがどのように組み込まれているかを拡張方法も含めて見ていきます。

まずは、WebFormsのテンプレートのプロジェクトを作成します。

メニュー → 新しいプロジェクト から ASP.NET Webアプリケーションを選択して、必要に応じて任意のプロジェクト名を入力します。以下では、ASPNETWebFormsIdentityというプロジェクト名にしています。
0002

次に、Web Formsのテンプレートを選択します。
0006

以上でプロジェクトは出来ました。このWebFormsベースのプロジェクトにASP.NET Identityがどのように組み込まれているか拡張の視点も含めて軽くですが以下のように確認しました。

ホーム\App_Start\IdentityConfig.cs
このソースファイルに、ApplicationUserManagerというクラスがあります。これは、Microsoft.AspNet.Identity.UserManagerを拡張する形式で定義されています。このApplicationUserManagerクラスが、自分のアプリケーションで使用するユーザマネージャになります。必要に応じて、更に拡張、カスタマイズしていきます。

同じくこのソースにメール送信のひな形があります。メール送信はここに記述します。

ホーム\Models\IdentityModels.cs
このソースファイルに、ApplicationUserというクラスがあります。Microsoft.AspNet.Identity.EntityFramework.IdentityUserを拡張する形式で定義されていています。このApplicationUserが自分のアプリケーションのユーザエンティティになります。元のIdentityUserにないプロパティ(ユーザ属性)が必要になった場合、ここに追加します。Code Firstなので、ここを拡張すればいいです。データベースのテーブル定義は考えなくていいです。

ホーム\Account配下
ここに、ユーザ登録、ログイン等のAccountに関するページ、ビハインドコードがあります。この配下のページ、ビハインドコードを必要に応じてカスタマイズしていきます。

他にもいろいろと出てくると思いますが、随時書いていきます。以上を踏まえて、次回から実際にカスタマイズしていきます。今回ここまでです。次回はユーザ登録時にメールを送信する処理についてです。

今回のシリーズの一覧
ASP.NETユーザ管理(その1)identityフレームワーク
ASP.NETユーザ管理(その2)WebFormsでのASP.NET Identity
ASP.NETユーザ管理(その3)ユーザ登録時のメール確認
ASP.NETユーザ管理(その4)ユーザ情報の追加
ASP.NETユーザ管理(その5)メンバー専用エリアと管理者ページ
ASP.NETユーザ管理(その6)ロール管理の追加
ASP.NETユーザ管理(その7)ユーザアカウントロック
ASP.NETユーザ管理(その8) 2要素認証
ASP.NETユーザ管理(その9) パスワードのリセット

 - ASP.NET

AdSense

AdSense

  関連記事

no image
ASP.NETユーザ管理(その3)ユーザ登録時のメール確認

ASP.NETユーザ管理(ASP.NET Identityフレームワーク)の3回 …

no image
Microsoft AzureでASP.NETサイトを公開してみる(その2)ASP.NETサイトの作成

Microsoft AzureでASP.NETサイトを公開してみるの2回目です。 …

no image
ASP.NETユーザ管理(その1)identityフレームワーク

今現在で最新のVisual Studio 2013で利用可能なASP.NETでの …

no image
ASP.NETユーザ管理(その8) 2要素認証

ASP.NETユーザ管理(ASP.NET Identityフレームワーク)の8回 …

ASP.NET Web APIでデータ蓄積(その2)ASP.NET コードファーストでのモデル構築

ASP.NET Web APIでデータ蓄積の2回目です。前回は、ASP.NET …

no image
ASP.NETユーザ管理(その6)ロール管理の追加

ASP.NETユーザ管理(ASP.NET Identityフレームワーク)の6回 …

no image
ASP.NETユーザ管理(その4)ユーザ情報の追加

ASP.NETユーザ管理(ASP.NET Identityフレームワーク)の4回 …

no image
ASP.NETユーザ管理(その7)ユーザアカウントロック

ASP.NETユーザ管理(ASP.NET Identityフレームワーク)の7回 …

ASP.NET Web APIでデータ蓄積の続き(その1)データ表示ページ

ASP.NET Web APIでデータ蓄積というテーマで以下から始まるシリーズを …

no image
Microsoft AzureでASP.NETサイトを公開してみる(その1)概要と開発環境

Microsoft Azureのサイト上で、ローカル環境で開発したASP.NET …