Omówienie tożsamości podstawowej ASP.NET

Ukończone

W tej lekcji uzyskasz wiedzę na temat architektury tożsamości.

architektura ASP.NET Core Identity

ASP.NET Core Identity to system członkostwa, który dodaje możliwości rejestracji użytkowników i logowania do internetowego interfejsu użytkownika platformy ASP.NET Core. System członkostwa obsługuje zarówno kwestie związane z uwierzytelnianiem, jak i autoryzacją. Uwierzytelnianie zajmuje się tym, kim jesteś. Autoryzacja dotyczy tego, co możesz zrobić. W związku z tym uwierzytelnianie jest wymaganiem wstępnym autoryzacji.

Alternatywą dla tworzenia konta lokalnego jest obsługa zewnętrznych dostawców logowania, takich jak Facebook i X. Sesje użytkowników są zachowywane przy użyciu uwierzytelniania opartego na plikach cookie. Domyślnie plik cookie jest tworzony po zalogowaniu się i niszczony po wylogowaniu.

Dane dotyczące członkostwa są utrwalane przy użyciu magazynu danych i wybranej technologii dostępu do danych. Domyślną technologią dostępu do danych jest maper obiektowo-relacyjny (O/RM) o nazwie Entity Framework (EF) Core. Domyślnym magazynem danych jest serwer SQL Server.

Program EF Core abstrakuje zawiłości interakcji z bazową bazą danych. W związku z tym platforma EF Core zwykle umożliwia używanie z mechanizmem Identity dowolnego dostawcy bazy danych. Dostawcy baz danych są dostępni dla programów SQL Server, SQLite i kilku innych magazynów danych. Mechanizm Identity zapewnia również elastyczność umożliwiającą korzystanie z wybranej technologii dostępu do danych. Dapper to jedna z popularnych alternatyw.

Na poniższym diagramie przedstawiono architekturę mechanizmu Identity używaną w tym module:

Diagram przedstawiający architekturę tożsamości.

Na powyższym diagramie:

  • Aplikacja ASP.NET Core Razor Pages reprezentuje internetowy interfejs użytkownika, do którego dodano obsługę tożsamości w tym module.
  • Warstwa usługi Identity Manager zawiera klasy używane z przestrzeni nazw Microsoft.AspNetCore.Identity. Przykłady takich klas używanych jawnie w tym module to SignInManager<TUser> i UserManager<TUser>.
  • Warstwa magazynu tożsamości platformy EF Core zawiera klasy z przestrzeni nazw Microsoft.AspNetCore.Identity.EntityFrameworkCore. Przykładem takiej klasy używanej niejawnie w tym module jest UserStore<TUser>.
  • Dostawca bazy danych to biblioteka specyficzna dla bazy danych, która akceptuje kod SQL od dostawcy platformy EF Core (nie pokazano) i wykonuje go.

Program EF Core używa funkcji nazywanej migracjami, aby przyrostowo zaktualizować schemat bazy danych, aby zachować synchronizację z modelem danych aplikacji. Pomocnicze tabele baz danych są tworzone po zastosowaniu początkowej migracji platformy EF Core. Na poniższym diagramie przedstawiono schematy tabel pomocniczych:

Diagram schematu bazy danych Tożsamości.

Uwaga

Na powyższej ilustracji przedstawiono klucze i relacje w bazie danych. Klucz jest jednym, a nieskończoność (boki 8) jest wiele. Baza danych może mieć typy relacji jeden do jednego, jeden do wielu i wiele do wielu. Klucze są unikatowe. Na diagramie przedstawiono sposób tworzenia tych sprzężeń i relacji.

Podsumowanie

W tej lekcji przedstawiono informacje na temat architektury ASP.NET Core Identity. W następnej lekcji dodasz domyślną implementację tożsamości podstawowej ASP.NET do istniejącej aplikacji.

Sprawdź swoją wiedzę

1.

Jaki jest domyślny magazyn danych dla tożsamości?