Правильный способ входа пользователя в серверное приложение .NET9 Blazor?C#

Место общения программистов C#
Ответить
Anonymous
 Правильный способ входа пользователя в серверное приложение .NET9 Blazor?

Сообщение Anonymous »

Я пишу серверное веб-приложение Blazor на .NET9 и пытаюсь написать фрагмент кода для сохранения утверждений пользователей в сеансе после проверки учетных данных по базе данных.
Я' я пробовал:

Код: Выделить всё

HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal);
но возникает ошибка: в HttpContext нет SignInAsync(). Я пытаюсь установить отсутствующий пакет Microsoft.AspNetCore.Authentication, но вижу, что его последняя версия 2.2.0 помечена как устаревшая.
Затем я пытаюсь:

Код: Выделить всё

await _httpContextAccessor.HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal);
где _httpContextAccessor внедряется через конструктор как IHttpContextAccessor httpContextAccessor, но это также устаревший способ.
Следующая попытка:

Код: Выделить всё

await AuthenticationManager.SignInAsync(CookieAuthenticationDefaults.AuthenticationType, principal);
- тоже устарело.
Теперь Google Gemini предлагает мне внедрить SignInManager, и он, похоже, существует и может работать, но кажется неправильным меня, потому что зачем Microsoft так запутывать простой вход пользователя в систему? Эта функция существует уже более 25 лет.
Поэтому главный вопрос заключается в том, как правильно сохранить данные для входа пользователя и прочитать их на странице в .NET9, в монолитное приложение (не клиент + серверный API)?

Подробнее здесь: https://stackoverflow.com/questions/793 ... server-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»