it:ad:asp.net:identity:home

IT:AD:ASP.NET:Identity

Summary

“ASP.NET Identity is a fresh look at what the membership system should be when you are building modern applications for the web, phone, or tablet.”

ASP.NET Identity is MS's third or fourth attempt at getting right:

  • ASP.NET Membership:
    • Acid:
      • Advantages:
        • None.
      • Disadvantages:
        • Poor development standards used.
        • Forms based.
        • Saves UserName/Password in-app, rather than delegating to an external IdP.
        • Had a RoleProvider, but not as rich as Claims which were not available in 2005.
        • Defunct. Replaced by Simple Membership.
      • Considerations:
        • Developed for ASP.NET Classic.
        • Cookie based Session handling leads to CORS requirements.
        • Architecture tightly tied to ASP.NET Handlers, therefore not compatible with OWIN Pipeline.

    * Simple Membership:

    • Acid:
      • Advantages:
        • None.
      • Considerations:
        • Same issues as ASP.NET Membership.
        • Defunct. Short lived. Replaced with ASP.NET Identity
    • Acid:
      • Advantages:
        • Can be used for WinForms, MVC, WebAPI.
        • Have control over database schema and storage destination.
        • Claims based.
      • Considerations
        • OWin Based (so ASP.NET 5 requires addition of Owin Pipeline).
      • Assemblies:
        • MVC Approach:
          • Microsoft.AspNet.Identity.EntityFramework
          • Microsoft.AspNet.Identity.Core
          • Microsoft.AspNet.Identity.OWIN
            • Provides access to Cookie middleware.
    • Advantages:
      • Claims based
      • Can customize persistence to database.
      • Has a Role Provider that will be useful.
      • Has providers for:
        • Azure Active Directory
        • Social (Facebook, Google, etc.)
      • There is a Role Provider
      • OWIN pipeline based.
    • Considerations:

The following is a current (Q3/2017) graph of the assembly dependencies.

As functionality stabilizes, I've seen some classes move from “Microsoft…” to “System…”. In addition, MS' focus is getting ASP.NET Core the new standard, so new development sometimes not only creates breaking changes, but is also not intended to work with ASP.NET MVC5 on .NET Framework Full. Case in point: System.IdentityModel.Tokens.Jwt version 5.0+.

foo Microsoft.AspNet.Identity.Owin Microsoft.AspNet.Identity.Owin Microsoft.AspNet.Identity.Core Microsoft.AspNet.Identity.Core Microsoft.AspNet.Identity.Owin->Microsoft.AspNet.Identity.Core Microsoft.Owin.Security.Cookies Microsoft.Owin.Security.Cookies Microsoft.Owin.Security Microsoft.Owin.Security Microsoft.Owin.Security.Cookies->Microsoft.Owin.Security Microsoft.Owin.Security.OAuth Microsoft.Owin.Security.OAuth Microsoft.Owin.Security.OAuth->Microsoft.Owin.Security Newtonsoft.Json Newtonsoft.Json Microsoft.Owin.Security.OAuth->Newtonsoft.Json Microsoft.Owin Microsoft.Owin Microsoft.Owin.Security->Microsoft.Owin Owin Owin Microsoft.Owin->Owin Microsoft.AspNet.Identity.EntityFramework Microsoft.AspNet.Identity.EntityFramework Microsoft.AspNet.Identity.EntityFramework->Microsoft.AspNet.Identity.Core EntityFramework EntityFramework Microsoft.AspNet.Identity.EntityFramework->EntityFramework Microsoft.AspNet.Identity.Claim Microsoft.AspNet.Identity.Claim Microsoft.AspNet.Identity.Claim->Microsoft.Owin.Security.Cookies Microsoft.AspNet.Identity.Claim->Microsoft.Owin.Security.OAuth Microsoft.Owin.Security.Jwt Microsoft.Owin.Security.Jwt Microsoft.Owin.Security.Jwt->Microsoft.Owin.Security.OAuth System.IdentityModel.Tokens.Jwt System.IdentityModel.Tokens.Jwt Microsoft.Owin.Security.Jwt->System.IdentityModel.Tokens.Jwt Microsoft.IdentityModel.Tokens Microsoft.IdentityModel.Tokens System.IdentityModel.Tokens.Jwt->Microsoft.IdentityModel.Tokens Microsoft.IdentityModel.Protocol.Extensions Microsoft.IdentityModel.Protocol.Extensions Microsoft.IdentityModel.Protocol.Extensions->Newtonsoft.Json System.IdentityModel.Tokens System.IdentityModel.Tokens Microsoft.IdentityModel.Protocol.Extensions->System.IdentityModel.Tokens Microsoft.IdentityModel.Logging Microsoft.IdentityModel.Logging Microsoft.IdentityModel.Protocol.Extensions->Microsoft.IdentityModel.Logging

  • Key in the above is Microsoft.Owin.Security.Cookies which provides cookie based authentication, much like Microsoft FormsAuthentiation.
  • /home/skysigal/public_html/data/pages/it/ad/asp.net/identity/home.txt
  • Last modified: 2023/11/04 03:37
  • by 127.0.0.1