Как создать простой логин в системе ASP.NET ядро без базы данных и авторизации доступа к контроллеру
Как создать простой ASP.NET вход в систему на основе ядра без использования баз данных. Допустим, вместо использования базы данных у меня есть имя пользователя и пароль для входа в appsettings.json. Я мог бы легко получить доступ и получить значения appsettings. Но как я должен реализовать функциональность входа в систему и как я должен настроить службы в startup.cs (в Configure и ConfigureServices).
В методе Configure() я добавил
app.UseAuthentication();
Когда я войду в систему и перейду к классу контроллера, который использует аннотацию
[Authorize]Я получаю следующую ошибку:
An unhandled exception occurred while processing the request. InvalidOperationException: No authenticationScheme was specified, and there was no DefaultChallengeScheme found. The default schemes can be set using either AddAuthentication(string defaultScheme) or AddAuthentication(Action<AuthenticationOptions> configureOptions). Microsoft.AspNetCore.Authentication.AuthenticationService.ChallengeAsync(HttpContext context, string scheme, AuthenticationProperties properties)
Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
Что я уже пробовал:
В методе Configure() я добавил
app.UseAuthentication();
Richard MacCutchan
Вы должны делать то, что говорит вам сообщение об ошибке.
Richard Deeming
Убедитесь, что вы не храните пароли в виде обычного текста:
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]