ダウンロード サンプルファイル (2.5 MB)
Visual Studio 2015がリリースされ、ASP.NET 5のプレビュー版が試せるようになりました。ASP.NET IdentityもASP.NET 5に向けて変更が入りました。今回はASP.NET 5プロジェクトにおける最新のASP.NET Identityについて、そのポイントを紹介していきます。
ASP.NET 5とは
2015年7月20日にリリースされた最新のVisual Studio 2015には、「ASP.NET 5」のプレビュー版のプロジェクトを作成できる機能が搭載されています。
ASP.NET 5とは主に次のような機能を持ち、従来のASP.NETとは別に新たにオープンソースで開発が進められています。
クロスプラットフォーム
Windowsに限らず、LinuxやMac OS X上でもMonoや.NET Coreを使って動作する。
IISに依存しない
OWINの概念をもとに新たに実装したミドルウェア、パイプライン処理で処理を行う。
サービス単位のDI
標準で「サービス」という単位でDI(Dependency Injection、依存性の注入)を行う機能を搭載する。
非同期
すべての処理がasync/awaitを活用した非同期処理として行われる。
詳しくは参考資料1)、2)などを参考にしてください。なお、あくまでプレビュー版であるため、まだまだ今後変更される可能性があります。最新情報はGitHub上の各種リポジトリを確認してください。
ASP.NET 5におけるASP.NET Identity
ASP.NET 5ではASP.NET Identityもバージョン3.0になり、新たに実装しなおされています。バージョン2.xまでのOWINのパイプライン処理をベースとした実装ではなく、ASP.NET 5のパイプライン処理をベースに実装されています。
この結果、バージョン2.x向けに独自に実装したコードとの互換性が無くなってしまいました。ASP.NET 5でも既存コードを利用したい場合、バージョン3.0向けに再実装する必要があります。ただ、主要なAPIはそれほど変更されていないため、移植は比較的容易に行えます。
なお、ASP.NET 5向けのASP.NET Identityは、ASP.NET 5本体と同様にGitHub上にてオープンソースで開発が進められています。最新コードはGitHubのリポジトリを参照してください。なお、ASP.NET 5はあくまでプレビュー版であり、正式リリース時には変更される可能性があることはご了承ください。
それでは、ASP.NET 5におけるASP.NET Identity利用のポイントを、VS2015で作成したASP.NET 5のプレビュープロジェクトを使って説明していきましょう。
使用するNuGetパッケージ
まずは、ASP.NET Identityを利用するのに必要なNuGetパッケージを見ていきましょう。使用しているNuGetパッケージは、project.jsonファイルの"dependencies"キーの値を確認します(リスト1)。
{
...(略)...
"dependencies": {
"EntityFramework.SqlServer": "7.0.0-beta5",
"EntityFramework.Commands": "7.0.0-beta5",
"Microsoft.AspNet.Mvc": "6.0.0-beta5",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta5",
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta5",
"Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta5",
"Microsoft.AspNet.Authentication.Google": "1.0.0-beta5",
"Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta5",
"Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta5",
"Microsoft.AspNet.Diagnostics": "1.0.0-beta5",
"Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta5",
"Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta5",
"Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
"Microsoft.AspNet.StaticFiles": "1.0.0-beta5",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-beta5",
"Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta5",
"Microsoft.Framework.Configuration.Json": "1.0.0-beta5",
"Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta5",
"Microsoft.Framework.Logging": "1.0.0-beta5",
"Microsoft.Framework.Logging.Console": "1.0.0-beta5",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta5"
},
...(略)...
}
ASP.NET Identityを利用するのに必要な主なパッケージは、以下の2つです。
Microsoft.AspNet.Authentication.Cookie
Cookie認証を行うためのNuGetパッケージで、.NET 4.5までのMicrosoft.Owin.Security.Cookiesに対応します。
Microsoft.AspNet.Identity.EntityFramework
EFを用いたユーザー管理を行うためのNuGetパッケージです。
なお、NuGetパッケージの依存関係により、以下のパッケージも併せてインストールされます。
Microsoft.AspNet.Identity
ASP.NET Identityのコアとなる各種インターフェースなどを扱うNuGetパッケージです。バージョンは3.0.0-beta5で、2.xまでのようにOwinパッケージへの依存はありません。
この記事は参考になりましたか?
- ASP.NET Identity入門連載記事一覧
-
- ASP.NET 5に向けて知っておきたい、最新のASP.NET Identityのポイント
- ASP.NET Identityで任意のデータストアを使う
- ASP.NET Identityで独自の認証処理を行う
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 高野 将(タカノ ショウ)
<個人紹介>新潟県長岡市在住の在宅リモートワークプログラマー。家事や育児、仕事の合間に長岡IT開発者勉強会(NDS)、Niigata.NET、TDDBCなどのコミュニティに関わったり、Web記事や書籍などの執筆を行ったりしている。著書に『アプリを作ろう! Visual C#入門 Visual C# 2017対応』(日経BP社、2017)など。< WINGSプロジェクト について>有限会社 WINGSプロジェクト が運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での 登録メンバ は約50名で、現在も執筆メンバを 募集中 。興味のある方は、どしどし応募頂きたい。 著書 、 記事 多数。 RSS X: @WingsPro_info (公式)、 @WingsPro_info/wings (メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
