Учебники

ASP.NET Core – Обзор личных данных

В этой главе мы кратко обсудим платформу ASP.NET Core Identity. ASP.NET Core Identity Framework используется для реализации проверки подлинности форм. Существует множество вариантов идентификации пользователей, включая проверку подлинности Windows и всех сторонних поставщиков удостоверений, таких как Google, Microsoft, Facebook, GitHub и т. Д.

  • Платформа Identity – это еще одна зависимость, которую мы добавим к нашему приложению в файле project.js.

  • Эта структура позволяет нам добавлять функции, где пользователи могут зарегистрироваться и войти в систему с локальным паролем.

  • Платформа также поддерживает двухфакторную аутентификацию, сторонние поставщики удостоверений и другие функции.

  • Мы собираемся сосредоточиться на сценариях, где пользователь может зарегистрироваться и войти и выйти.

Платформа Identity – это еще одна зависимость, которую мы добавим к нашему приложению в файле project.js.

Эта структура позволяет нам добавлять функции, где пользователи могут зарегистрироваться и войти в систему с локальным паролем.

Платформа также поддерживает двухфакторную аутентификацию, сторонние поставщики удостоверений и другие функции.

Мы собираемся сосредоточиться на сценариях, где пользователь может зарегистрироваться и войти и выйти.

Для этого нам нужно создать сущность User, и этот класс будет наследоваться от базового класса в платформе Identity, а базовый класс предоставляет нам наши стандартные пользовательские свойства, такие как имя пользователя и адрес электронной почты.

Обзор идентичности

  • Мы можем включить в этот класс столько дополнительных свойств, сколько мы хотим, чтобы хранить информацию о наших пользователях.

  • Нам нужно взять этот класс User и подключить его к классу UserStore, предоставленному каркасом Identity.

  • UserStore – это класс, с которым наш код будет общаться, чтобы создавать пользователей и проверять пароли пользователей.

  • В конечном счете, UserStore будет общаться с базой данных. Платформа Identity поддерживает Entity Framework и все базы данных, которые могут работать с Entity Framework.

  • Но вы можете реализовать свой собственный UserStore для работы с любым источником данных.

  • Для правильной работы с Entity Framework наш класс User также подключится к классу IdentityDb.

  • Это класс, который использует Entity Framework DBContext для фактической работы с базой данных.

  • Нам нужно будет включить этот IdentityDb в наше приложение, чтобы существующий класс DataContext наследовал от IdentityDb вместо DBContext Entity Framework.

  • Это IdentityDb и UserStore, которые работают вместе для хранения информации о пользователях и проверки паролей пользователей, хешированных паролей, находящихся в базе данных.

Мы можем включить в этот класс столько дополнительных свойств, сколько мы хотим, чтобы хранить информацию о наших пользователях.

Нам нужно взять этот класс User и подключить его к классу UserStore, предоставленному каркасом Identity.

UserStore – это класс, с которым наш код будет общаться, чтобы создавать пользователей и проверять пароли пользователей.

В конечном счете, UserStore будет общаться с базой данных. Платформа Identity поддерживает Entity Framework и все базы данных, которые могут работать с Entity Framework.

Но вы можете реализовать свой собственный UserStore для работы с любым источником данных.

Для правильной работы с Entity Framework наш класс User также подключится к классу IdentityDb.

Это класс, который использует Entity Framework DBContext для фактической работы с базой данных.

Нам нужно будет включить этот IdentityDb в наше приложение, чтобы существующий класс DataContext наследовал от IdentityDb вместо DBContext Entity Framework.

Это IdentityDb и UserStore, которые работают вместе для хранения информации о пользователях и проверки паролей пользователей, хешированных паролей, находящихся в базе данных.

Есть две части ASP.NET Core Identity Framework, которые нам нужно знать

Базовая структура идентичности

SignInManager

Это одна из двух частей Identity Framework –

  • Как видно из названия, SignInManager может войти в систему после того, как мы подтвердим пароль.

  • Мы также можем использовать этот менеджер для выхода из системы.

  • При проверке подлинности с помощью форм вход и выход осуществляются путем управления файлом cookie.

  • Когда мы сообщаем SignInManager о входе пользователя в систему, менеджер отправляет файл cookie в браузер пользователя, и браузер отправляет этот файл cookie при каждом последующем запросе. Это помогает нам идентифицировать этого пользователя.

Как видно из названия, SignInManager может войти в систему после того, как мы подтвердим пароль.

Мы также можем использовать этот менеджер для выхода из системы.

При проверке подлинности с помощью форм вход и выход осуществляются путем управления файлом cookie.

Когда мы сообщаем SignInManager о входе пользователя в систему, менеджер отправляет файл cookie в браузер пользователя, и браузер отправляет этот файл cookie при каждом последующем запросе. Это помогает нам идентифицировать этого пользователя.

Identity Middleware

Это второй кусок основы –

Чтение файла cookie, отправленного SignInManager, и идентификация пользователя, это происходит в последнем фрагменте платформы, Identity Middleware.

Нам нужно будет сконфигурировать это промежуточное ПО в конвейер нашего приложения для обработки cookie, установленного SignInManager. Мы также увидим некоторые другие особенности этого промежуточного программного обеспечения в следующих нескольких главах.