Open棟梁Project - マイクロソフト系技術情報 Wiki

目次

概要

特徴

One ASP.NET Identity System

ASP.NET frameworks ( ASP.NET MVC, Web Forms, Web Pages, Web API and SignalR ) で使用可能。

ユーザーに関するプロファイルデータを容易にプラグイン可能

Entity Frameworkのコードファーストを使用し、POCOクラスを拡張することが可能。

永続化の制御

ユニットテスト容易性

シンプルなロールプロバイダ

簡単に、「管理者」等のロールを作成し、ロールにユーザを追加ができる。

クレームベース認証

クレームベース認証をサポート

外部ログイン

簡単に、マイクロソフトアカウント、FacebookやTwitterやGoogleなどの外部ログインを追加できる。

機能

基本機能

新機能

ASP.NET Forms認証との違い

No.FeaturesAsp.Net Forms AuthenticationOWIN Forms Authentication
1Cookie Authentication
クッキー認証
YesYes
2Cookieless Authentication
Cookieなしの認証
YesNo
3Expiration
有効期限
YesYes
4Sliding Expiration
スライディング有効期限
YesYes
5Token Protection
トークンの保護
YesYes
6Claims Support
クレームのサポート
NoYes
7Web Farm Support
Webファームのサポート
YesYes
8Unauthorized Redirection
無断リダイレクト
YesYes

資格情報へのアクセス

Entity Framework(Microsoft.AspNet??.Identity.EntityFramework?)が使用されており、
Entity Frameworkマイグレーションを使うことで、簡単にユーザー情報に項目を追加できる。

また、任意のストレージを使用するようにカスタマイズできる。
この際に、Entity Frameworkをキャンセルすることもできる。

実装

拡張テンプレートを取得

PMからInstall-Packageする。

追加・更新されるモジュール

Microsoft.AspNet?.Identity.Samplesで、以下のモジュールが適用される。

<Compile Include="Controllers\RolesAdminController.cs" />
<Compile Include="Controllers\UserAdminController.cs" />
・・・
<Compile Include="Models\AdminViewModel.cs" />
・・・
<Content Include="Views\UsersAdmin\Index.cshtml" />
<Content Include="Views\UsersAdmin\Edit.cshtml" />
<Content Include="Views\UsersAdmin\Details.cshtml" />
<Content Include="Views\UsersAdmin\Delete.cshtml" />
<Content Include="Views\UsersAdmin\Create.cshtml" />
<Content Include="Views\RolesAdmin\Index.cshtml" />
<Content Include="Views\RolesAdmin\Edit.cshtml" />
<Content Include="Views\RolesAdmin\Details.cshtml" />
<Content Include="Views\RolesAdmin\Delete.cshtml" />
<Content Include="Views\RolesAdmin\Create.cshtml" />
<Content Include="Views\Account\DisplayEmail.cshtml" />

基本機能

サインアップ

基本のテンプレートに実装されている。

サインイン・サインアウト

基本のテンプレートに実装されている。

アカウントの編集

基本のテンプレートに実装されている。

サインアップの機能強化

ユーザ名の重複不可設定

基本のテンプレートに実装されている。

パスワード検証

基本のテンプレートに実装されている。

2要素認証

以下で使用される。

アカウント確認

以下を参考にして実装する。

サインインの機能強化

SecurityStamp?

基本のテンプレートに実装されている。
アカウントの編集後、他のブラウザはサインアウトされる。

外部ログイン

以下の手順に従い、実装できる。

今は、Microsoft アカウントで、
localhostも登録できるようになっている。

プロキシ環境下で外部サービスに接続する場合、以下の設定を行う。
プロキシ環境下の開発環境では、外部ログインは必ずプロキシ経由になる。
従って、ローカルのFQDN名はプロキシを利用しないlocalhost設定で無いと難しい。

運用の機能強化

アカウント・ロックアウト

基本のテンプレートに実装されている。

パスワード・リセット

基本のテンプレートに実装されている。

管理機能

追加のサンプル(Microsoft.AspNet?.Identity.Samples)に実装されている。

OWIN is dead ?

ASP.NET Core

素組

OWIN が微妙ということであれば、下記のように、素組で実装できる
(ただし、プロトコルを理解して実装を行う必要がある。下記はOAuth。)。

参考

The ASP.NET Site

ASP.NET Identity
http://www.asp.net/identity

msdn.microsoft.com

.NET Web Development and Tools Blog

Introducing ASP.NET Identity – A membership system for ASP.NET applications
https://blogs.msdn.microsoft.com/webdev/2013/06/27/introducing-asp-net-identity-a-membership-system-for-asp-net-applications/

Cutting Edge

Tsmatz

ASP.NET Identity

THE TRUTH IS OUT THERE

その他

ASP.NET Identity入門連載一覧:CodeZine?(コードジン)

https://codezine.jp/article/corner/511

ASP.NET Identity カテゴリーの記事一覧 - kendik.net

http://kendik.hatenablog.com/archive/category/ASP.NET%20Identity

かずきのBlog@hatena

Qiita

Series: Owin Authentication « Passion for Coding

https://coding.abel.nu/series/owin-authentication/

CodeProject?


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS