Personalizzazioni di Identity

Completato

Nell'unità precedente è stata aggiunta la funzionalità ASP.NET Core Identity predefinita a un'app Web ASP.NET Core. In questa unità si apprenderà come personalizzare ed estendere ASP.NET Core Identity.

Estensione del modello di dati Identity

Per impostazione predefinita, Identity rappresenta un utente con una classe IdentityUser. Nell'unità precedente, quando è stato eseguito lo strumento di scaffolding, è stata creata una classe denominata RazorPagesPizzaUser che eredita da IdentityUser. Nell'unità successiva, si modificherà la classe derivata in modo da includere le proprietà per archiviare il nome e il cognome dell'utente.

Screenshot della classe RazorPagesPizzaUser derivata da IdentityUser.

L'estensione del modello di dati richiede modifiche al database sottostante. Fortunatamente, Entity Framework Core semplifica questa attività con le migrazioni.

Personalizzazione dell'interfaccia utente di Identity

I componenti predefiniti dell'interfaccia utente di Identity sono inclusi in una libreria di classi Razor per .NET Standard. Dal momento che viene usata una libreria di classi Razor, al progetto vengono aggiunti alcuni file quando si usa l'interfaccia utente predefinita. Non sono necessari i file CSHTML nel progetto perché RCL fornisce i componenti dell'interfaccia utente.

Quando si personalizza l'interfaccia utente, è prima necessario usare di nuovo lo strumento aspnet-codegenerator per creare file CSHTML da usare in sostituzione di RCL. Lo strumento consente di selezionare in modo esplicito i file creati. Se i file corrispondenti non sono presenti, verranno usati i componenti dell'interfaccia utente della libreria di classi Razor.

Riepilogo

In questa unità si è appreso come personalizzare ed estendere ASP.NET Core Identity. Nell'unità successiva si personalizzerà l'interfaccia utente di Identity.