今現在で最新のVisual Studio 2013で利用可能なASP.NETでのユーザ認証とユーザ管理のフレームワークを使ってみました。そのユーザ管理のフレームワークは、ASP.NET Identityというものです。このフレームワークを使って実際のユーザ認証、ユーザ管理、ロール管理等を動作させてみたいと思います。ここでのスクリーンショットは管理者がユーザやロールを管理するためテスト画面です。
このASP.NET Identityの主な特徴は以下です。
・ASP.NETのWebフォームをはじめ、MVC、Web API等の幅広いスタイルで利用可(ASP.NET ONE)
従来は、WebフォームとMVCは別々の仕組みになっていました。
・OWIN(Open Web Interface for .NET)のミドルウェア利用
これによりソーシャルアカウントでの認証が簡単になりました。
・Entity FrameworkのCode Firstベース
データベース(スキーマ)が前提ではなく、コード実装が前提となります。これによりカスタマイズが容易になります。
これらの特徴のより詳細や背景等は、以下等を参照して下さい。
CodeZine「ASP.NET Identity」の登場背景と実際の使い方
もう少し補足的に書きますと、OWINは、まずはIISありきではなくて、このOWINという仕組みの元に設計されていますということです。これによりソーシャルメディアとの連携等、柔軟なシステムが構築可能になるということのようです。
あと、Code Firstベースについてですが、これは非常に重要だと思います。カスタマイズの際にデータベースが前提で考えるとテーブルの変更から入りますが、この方法でのカスタマイズでは無理があります。具体的には順次書いていきたいと思います。
今回のシリーズでは、ASP.NET Identity が組み込まれた初期状態のWebFormsでのフレームワークを使って実際にカスタマイズしながら動作を確認したいと思います。目次は以下です。
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) パスワードのリセット
ソーシャルログインはここでは取り上げていませんので、必要な場合は以下等を参照して下さい。
Code! MVC 5 App with Facebook, Twitter, LinkedIn and Google OAuth2 Sign-on (C#)
※各ページでサンプルプログラムを掲載していますが、一切の動作保証はしておりませんのでご了承下さい。
開発環境は、Visual Studio Express 2013 for Web Update 2です。もちろん、Expressではなく上位バージョンでも問題ありませんが、Update2を使っています。このUpdateでASP.NET Identity の最新が使えます。
Update2は以下からダウンロード、インストール可能です。
上記のダウンロードページですが、今現在画面上ではUpdate1のままですが、内容はUpdate2のようです。
今回はここまでです。次回から実際にカスタマイズして動作させていきます。