ASP.NET Identity: AAA secondo Microsoft

ASP.NET Identity (https://www.asp.net/identity) è il framework per la AAA, ed è OWIN compliant.

AAA è acronimo di Authentication, Authorization, Accounting.

OWIN è una specifica volta a disaccoppiare le applicazioni web dai web server che le ospitano.

Katana è (o era?) il framework che implementa OWIN nello stack di sviluppo per applicazioni di Microsoft.

Attualmente è alla versione 2.2.1 (la 1.0 risale ad ottobre 2013, la 2.0 a maggio 2014, la v3 è in alpha da ottobre 2015).

Microsoft ha fatto le cose per bene, mettendo da parte il pattern “FormsAuthentication + Membership API” e modellando (e rilasciando) un framework tutto nuovo.

Le caratteristiche più interessanti sono:

  • il modello claim based
  • autenticazione a due fattori (sms o mail)
  • account lockout
  • login token validation (security stamp)
  • double opt-in
  • la classe UserManager (che si occupa sia di Users che di Roles Management)
  • la classe SignInManager (creazione dell’oggetto utente e del cookie di autenticazione)

Esplorando un pò il codice (che il template di default dei progetti Visual Studio 2017 mette a disposizione) ci si accorge presto che lo sviluppatore può personalizzare moltissimo il modello.

Le classi *Managers consentono una rapida interazione con il sistema, mentre le classi *Stores possono essere estese per personalizzare la persistenza dei dati (da Azure Table Storage ai db NoSql).

Nella pratica, ASP.NET Identity è un package (Microsoft.AspNet.Identity.Core), che ha tra le sue dipendenze:

  • OWIN (Microsoft.AspNet.Identity.Owin)
  • Entity Framework (Microsoft.AspNet.Identity.EntityFramework)

Il data storage di default è Sql Server (Local DB nella cartella AppData).

Il database viene creato con EntityFramework Code First 🙂

Take away valued links

ASP.NET Identity Provider for NHibernate

Overview of Custom Storage Providers for ASP.NET Identity

 

By | 2017-08-01T12:26:28+00:00 luglio 28th, 2017|Framework Web, Sviluppo Web|0 Comments

About the Author:

Leave A Comment