「[[マイクロソフト系技術情報 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]], [[:認証基盤]], [[:セキュリティ]]