В Startup.cs вы можете добавить аутентификацию cookie, добавив эту строку (вы также можете указать параметры для продолжительности сеанса и т. Д.).
services.AddAuthentication().AddCookie();
Чтобы создать сеанс при входе, изконтроллер, вы можете вызвать это, чтобы войти как пользователь с набором утверждений (в основном пары ключ / значение, которые описывают то, что вам нужно знать о пользователе):
await HttpContext.SignInAsync(userId, claims);
Это создает ClaimsPrincipal, который можетбыть доступным через свойство User на Controller:
User.HasClaim("someclaim", "somevalue")
В конечном итоге промежуточное программное обеспечение зашифровывает заявки и сохраняет их в файле cookie, поэтому аутентификация по-прежнему остается без сохранения состояния с точки зрения сервера.Однако имейте в виду, что используемый по умолчанию ключ шифрования привязан к компьютеру, поэтому вам придется использовать что-то вроде azure или redis , если вы планируете масштабирование до нескольких экземпляров сервера.
Если вы хотите иметь полную систему входа в систему и управления пользователями, возможно, самый простой способ - это идентификация ASP.net, которая предоставляет API-интерфейсы для обработки пользователей, политик, групп доступа и некоторых сложных вещей, таких как хранение паролей с использованием Entity Framework.Для получения дополнительной информации об этом, проверьте это: https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity?view=aspnetcore-2.2&tabs=visual-studio
В качестве дополнительного примечания, для более общего состояния сеанса, этот документ содержит данные о других параметрах состояния сеанса,но поскольку вы спрашивали о входах в систему, лучше всего использовать API аутентификации.