Principy základní identity ASP.NET
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:
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 jsouSignInManager<TUser>
aUserManager<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 jeUserStore<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:
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.