ASP.NET 1.0 
ASP.NET 2.0 
Membership 
One ASP.NET 
Identity
※ http://www.atmarkit.co.jp/ait/articles/0307/26/news002.html より
Host 
CookieAuthentication 
Middleware (Owin) 
Request Application 
ASP.NET Identity 
Response
ASP.NET Application 
User Manager (SignInManager クラス、UserManager クラス、RoleManager クラス) 
User Store (UserStore クラス、RoleStore クラスなど) 
Data Access Layer 
Database (RDBMS、NoSQL) 
Identity.Core 
Identity.EntityFramework
2014-08-30_aspnet-identity
2014-08-30_aspnet-identity
2014-08-30_aspnet-identity
2014-08-30_aspnet-identity
2014-08-30_aspnet-identity

2014-08-30_aspnet-identity

Editor's Notes

  • #7 リクエストパイプライン
  • #14 * 既定でフルセットの SQL Server の存在を前提としていること * SQL Server を使うなってことじゃなくて、設計が機能に依存してる * 例えばストアドプロシージャの存在 * 例えば SQL Server Cahche Dependency * http://surferonwww.info/BlogEngine/post/2011/03/28/SQL-Cache-Dependency.aspx * テーブルやレコードとキャッシュに関連を持たせ、前者が変更されたら、次のアクセスで後者も更新する仕組み * さらに、規定の SQL Server 用 Provider は SQL Server CE や Azure ですら完全には動かない * Azure 用には Universal Provider なるものがあるらしい * SQL Server 以外のデータストアを使う場合、カスタムメンバーシッププロバイダを継承して独自実装しないといけない * 独自実装自体はまあ別にいい * が、API が SQL Server (というより RDBMS) 前提 * NoSQL をデータストアに使うのは大変 * 特定のスキーマに強く依存している * 独自の資格情報は独立して管理 * 既定で作られるテーブルに独自情報を追加できない * 設計が古いのもあって辛い * ユニットテストが困難 * 実装時に意識して設計すればいくらでも可能ではあるが、、、 * ソーシャルログイン未対応 * 設計が OpenID や OAuth にはマッチしない * 機能が足りてないとも言える(ロックアウト出来ないとか、二要素認証とか) * そもそも実装が大変 * MembershipProvider 抽象クラス * 27 の abstract メソッド * 全てをカスタマイズしたいことなんて、ない
  • #17 [指摘] Identity 1.0 はもっと前からでは?
  • #23 ## その他 * PK もカスタマイズ可能 * IQueryable * 拡張可能な Password Validator * クレームベース認証
  • #26 データアクセス