Az ASP.NET Core Identity ismertetése

Befejeződött

Ebben a leckében megismerheti az identitásarchitektúrát.

ASP.NET Core identitásarchitektúra

ASP.NET Core Identity egy tagsági rendszer, amely felhasználói regisztrációt és bejelentkezési képességeket ad hozzá egy ASP.NET Core webes felhasználói felülethez. A tagsági rendszer kezeli a hitelesítést és az engedélyezést is. A hitelesítés tárgya a felhasználó személye. Az engedélyezés szabja meg, hogy mit tehet meg az illető. A hitelesítés tehát az engedélyezés előfeltétele.

A helyi fiók létrehozása helyett az Identity támogatja a külső bejelentkezési szolgáltatókat, például a Facebookot és a Twittert. A felhasználói munkamenetek cookie-alapú hitelesítéssel vannak fenntartva. Alapértelmezés szerint egy cookie jön létre bejelentkezéskor, és a kijelentkezéskor megsemmisül.

A tagsági adatok az Ön által választott adattár és adatelérési technológia használatával vannak megőrizve. Az alapértelmezett adatelérési technológia egy Entity Framework (EF) Core nevű objektumrelációs leképező (O/RM). Az alapértelmezett adattár az SQL Server.

A mögöttes adatbázissal való kapcsolat részleteit az EF Core intézi. Az EF Core tehát általában bármelyik adatbázis-szolgáltatója Identityvel való használatát lehetővé teszi. Az adatbázis-szolgáltatók SQL Server, SQLite-hez és számos más adattárhoz érhetők el. Az Identity az Ön által választott a adatelérési technológia használatával járó rugalmasságot is biztosítja. Egy népszerű választási lehetőség a Dapper.

Az alábbi diagram az ebben a modulban használt Identity-architektúrát ábrázolja:

Az identitásarchitektúrát ábrázoló diagram.

A fenti diagram elemei:

  • A ASP.NET Core Razor Pages alkalmazás azt a webes felhasználói felületet jelöli, amelyhez az identitástámogatás hozzá van adva ebben a modulban.
  • Az Identitáskezelő réteg tartalmazza a Microsoft.AspNetCore.Identity névtérből felhasznált osztályokat. Ilyen, a modulban közvetlenül felhasznált osztály például a SignInManager<TUser> és a UserManager<TUser>.
  • Az EF Core identitástároló réteg a Microsoft.AspNetCore.Identity.EntityFrameworkCore névtér osztályait tartalmazza. Ilyen, a modulban közvetetten felhasznált osztály például a UserStore<TUser>.
  • Az adatbázis-szolgáltató egy adatbázis-specifikus kódtár, amely SQL-t fogad el az EF Core szolgáltatótól (ez az ábrán nem szerepel), és végrehajtja azt.

Az EF Core egy migrálás nevű funkcióval növekményesen frissíti az adatbázissémát, hogy szinkronban maradjon az alkalmazás adatmodelljével. Az eredeti EF Core-migráció alkalmazása után létre lesznek hozva a támogató adatbázis-táblák. Az alábbi diagram a támogató táblák sémáit szemlélteti:

Az Identitásadatbázis sémájának diagramja.

Megjegyzés

A fenti képen az adatbázisban lévő kulcs(ok) és kapcsolatok láthatók. A kulcs egy, és a végtelen (8. oldal) sok. Az adatbázisok egy-az-egyhez, egy-a-többhöz és több-a-többhöz típusú kapcsolattípusokkal is rendelkezhetnek. A kulcsok egyediek. Az ábra bemutatja, hogyan jönnek létre ezek az illesztések, valamint a kapcsolatok.

Összefoglalás

Ebben a leckében megismerkedett a ASP.NET Core Identity architektúrával. A következő leckében hozzáadja az alapértelmezett ASP.NET Core Identity implementációt egy meglévő alkalmazáshoz.

Tesztelje tudását

1.

Mi az identitás alapértelmezett adattára?