Principy základní identity ASP.NET

Dokončeno

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

Architektura základní identity ASP.NET

ASP.NET Core Identity je systém členství, který do webového uživatelského rozhraní ASP.NET Core přidává možnosti registrace uživatelů a přihlašování. 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ích účtů podporuje externí zprostředkovatele přihlašování, jako je Facebook a X. Uživatelské relace se zachovají pomocí ověřování na základě souborů cookie. Ve výchozím nastavení se při přihlášení vytvoří soubor cookie a po 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.

EF Core abstrahuje složité interakce s podkladovou databází. 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 identit

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 identity.
  • 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 označovanou jako migrace k přírůstkové aktualizaci schématu databáze, aby byla synchronizovaná s datovým modelem aplikace. Podpůrné databázové tabulky se vytvoří po použití počáteční migrace EF Core. Následující obrázek znázorňuje schémata pomocných tabulek:

Diagram schématu databáze identit

Poznámka:

Předchozí 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.

Shrnutí

V této lekci jste se dozvěděli o architektuře základní identity ASP.NET. 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?