「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-戻る
--[[ASP.NET]]
--[[認証基盤]]
--[[VS系コンテンツ]]

* 目次 [#jc6a5050]
#contents

*概要 [#nf67e948]
[[ASP.NET Forms認証]] と [[ASP.NET Identity]]のトレードオフをまとめた。

*分析 [#f281a554]
ざっくり、

**[[ASP.NET Forms認証>#c0701dfa]] [#c4069e13]
-エンタープライズ・システムの認証基盤としては、~
[[ASP.NET Identity]]はオーバースペックであり、~
[[ASP.NET Forms認証]]がシンプルで使いやすい。

**[[ASP.NETメンバーシップ>#vf0835e4]] [#oc9ddee9]
あまり使われなかった。
-エンタープライズ・システムに対して使用するには制限事項が多かった。
-...しかも、B2Cの認証基盤としての機能が十分ではなかった。

**[[ASP.NET Identity>#e2b52402]] [#afa94a67]
-以下を合わせた機能に、B2C認証基盤機能が追加されたようなイメージ。
--ASP.NET Forms認証の認証チケット発行の仕組み。
--ASP.NETメンバーシップのユーザストア管理の仕組み。

-インターネット・システム向けのB2C認証基盤としては、~
[[ASP.NET Identity]]が有用であるが、[[ASP.NET Forms認証]]と比べ複雑である。

*[[ASP.NET Forms認証]] [#c0701dfa]
非常にシンプルで使いやすい。

基本的に、ユーザ・プログラム側でForms認証の認証結果を判別し、~
「Cookie認証チケットの発行」の機能+αをサポートしている。

*ASP.NETメンバーシップ [#vf0835e4]
殆ど情報が無いが以下の様なものだったらしい。

-機能
--資格情報データストアを自動生成
--資格情報を入力し、認証、承認を行う。

--以下が提供されている。
---そのアクセスを行うためのAPI
---各種ログインコントロール

-問題

--UserStoreがRDBMS前提

--属性追加が別テーブルに追加される。~
(スキーマに制限事項がある)

--外部ログインに対応していない。

*[[ASP.NET Identity]] [#e2b52402]
以下の機能をサポートしており、非常に有用だが、~
同時に複雑で、既存システムに組み込むのは困難である。

-認証チケット発行の仕組みと、ユーザストア管理の仕組み。

-これに加えて、B2C認証基盤機能として、~
非常に多くの機能をサポートしている。
--サインアップ、サインイン・サインアウト
--アカウント確認(E-mail confirmation)、二要素認証 (2FA)
--アカウント・ロックアウト、パスワード・リセット、SecurityStamp

-また、
--[[OAuth]]、[[OpenID Connect]]などの[[外部ログイン機能>ASP.NET Identityの外部ログイン]]や、
--[[OAuth]] 2.0 Server機能を持った、[[セキュアトークンサービス(STS)機能開発支援機能>ASP.NET IdentityによるSTS実装]]を、

>サポートしている。

*機能比較(Cookie認証チケット発行機能の範囲) [#vbee03ec]
以下の表は「Cookie認証チケットの発行」の機能の範囲を比較しているだけに過ぎない。

-.NET Web Development and Tools Blog~
Understanding OWIN Forms authentication in MVC 5~
https://blogs.msdn.microsoft.com/webdev/2013/07/03/understanding-owin-forms-authentication-in-mvc-5/

|No.|Features|Asp.Net Forms Authentication|OWIN Forms Authentication|h
|1|Cookie Authentication&br;クッキー認証|Yes|Yes|
|2|Cookieless Authentication&br;Cookieなしの認証|Yes|BGCOLOR(red):No|
|3|Expiration&br;有効期限|Yes|Yes|
|4|Sliding Expiration&br;スライディング有効期限|Yes|Yes|
|5|Token Protection&br;トークンの保護|Yes|Yes|
|6|Claims Support&br;クレーム同梱のサポート|BGCOLOR(red):No|Yes|
|7|Web Farm Support&br;Webファームのサポート|Yes|Yes|
|8|Unauthorized Redirection&br;未認証時のログイン画面へのリダイレクト|Yes|Yes|

*参考 [#ma41d08c]
-[[ASP.NET Forms認証]]
-[[ASP.NET Identity]]

----
Tags: [[:.NET開発]], [[:ASP.NET]], [[:ASP.NET Web Forms]], [[:ASP.NET MVC]], [[:ASP.NET Identity]], [[:認証基盤]], [[:セキュリティ]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS