Vysvětlení identity ASP.NET Core

Dokončeno

V této lekci získáte přehled o architektuře identit.

Architektura ASP.NET Core Identity

ASP.NET Core Identity je systém členství, který přidává možnosti registrace a přihlašování uživatelů do webového uživatelského rozhraní ASP.NET Core. Systém členství se stará jak o ověřování, tak o autorizaci. Ověřování se zabývá tím, kdo jste. Autorizace se zabývá tím, co máte povoleno dělat. Ověřování je proto předpokladem pro autorizaci.

Identita jako alternativu k vytváření místního účtu podporuje externí zprostředkovatele přihlašování, jako je Facebook a Twitter. Relace uživatelů se zachovávají pomocí ověřování založeného na souborech cookie. Ve výchozím nastavení se soubor cookie vytvoří při přihlášení a při odhlášení se zničí.

Trvalost dat členství je zajištěna pomocí zvoleného úložiště dat a technologie přístupu k datům. Výchozí technologií přístupu k datům je O/RM (Object-Relational Mapper) s názvem Entity Framework (EF) Core. Výchozím úložištěm dat je SQL Server.

Podrobnosti interakcí s podkladovou databází jsou abstrahovány pomocí EF Core. EF Core tedy obecně umožňuje používat s Identity libovolné ze svých poskytovatelů databází. Poskytovatelé databází jsou k dispozici pro SQL Server, SQLite a několik dalších úložišť dat. Flexibilita Identity navíc umožňuje použít technologii přístupu k datům podle vašeho výběru. Jednou z oblíbených alternativ je Dapper.

Následující schéma znázorňuje architekturu Identity použitou v tomto modulu:

Diagram znázorňující architekturu identity

V předchozím diagramu:

  • Aplikace ASP.NET Core Razor Pages představuje webové uživatelské rozhraní, do kterého je v tomto modulu přidána podpora identit.
  • Vrstva Správce identit obsahuje třídy použité z oboru názvů Microsoft.AspNetCore.Identity. Příkladem takových tříd explicitně použitých v tomto modulu jsou SignInManager<TUser> a UserManager<TUser>.
  • Vrstva Úložiště identit EF Core obsahuje třídy z oboru názvů Microsoft.AspNetCore.Identity.EntityFrameworkCore. Příkladem takové třídy explicitně použité v tomto modulu je UserStore<TUser>.
  • Poskytovatel databáze je knihovna specifická pro databázi, která přijímá SQL od poskytovatele EF Core (není na obrázku) a provádí ho.

EF Core používá funkci nazvanou migrace k přírůstkové aktualizaci schématu databáze, aby bylo synchronizované s datovým modelem aplikace. Po použití prvotní migrace EF Core se vytvoří pomocné databázové tabulky. Následující obrázek znázorňuje schémata pomocných tabulek:

Diagram schématu databáze identit

Poznámka

Výše uvedený obrázek znázorňuje klíče a relace v databázi. Klíč je jeden a nekonečno (bokem 8) je mnoho. Databáze může mít typy relací 1:1, 1:N a M:N. Klíče jsou jedinečné. Diagram znázorňuje, jak se tato spojení vytvářejí a jaké jsou relace.

Souhrn

V této lekci jste se dozvěděli o architektuře ASP.NET Core Identity. V další lekci přidáte do existující aplikace výchozí implementaci ASP.NET Core Identity.

Kontrola znalostí

1.

Jaké je výchozí úložiště dat pro identitu?