Dotnet с Identity не осуществляет аутентификацию через страницы ⇐ C#
Dotnet с Identity не осуществляет аутентификацию через страницы
У меня есть шаблонные страницы идентификации для создания/входа в систему пользователя и т. д. Все работает нормально, пользователи хранятся в моем бэкэнде MSSQL. В моем проекте есть две страницы, обе из которых находятся за тегом [Authorize].
Первая страница, на которую вы будете перенаправлены после успешного входа в систему, и она работает без проблем. Когда вы нажимаете кнопку на этой странице, чтобы перейти на следующую страницу, вам будет предложено снова войти в систему. После второго входа в систему эта страница отображается правильно. Я просматривал документацию, пытаясь выяснить, почему пользователь не может «сохранить» свой статус входа между страницами, но мои знания об этих системах очень ограничены, и документация часто пишется для людей с гораздо более техническими знаниями. опыта больше, чем у меня.
Кто-нибудь знает, в чем может быть проблема? Моя настройка Program.cs, относящаяся к Identity, находится здесь:
builder.Services.AddDefaultIdentity(options => options.SignIn.RequireConfirmedAccount = true) .AddEntityFrameworkStores() .AddDefaultTokenProviders(); builder.Services.ConfigureApplicationCookie(параметры => { options.ExpireTimeSpan = TimeSpan.FromMinutes(20); options.LoginPath = "/Identity/Account/Login"; options.SlidingExpiration = true; }); // Добавляем службы логгера builder.Host.UseSerilog((контекст, сервисы, конфигурация) => конфигурация .ReadFrom.Services(услуги) .Enrich.FromLogContext() .WriteTo.Консоль() .WriteTo.File("log.txt",rollingInterval: RollingInterval.Day)); builder.Services.AddDistributedMemoryCache(); // Добавляем сервисы в контейнер. builder.Services.AddControllersWithViews(); builder.Services.AddRazorPages(); вар приложение = builder.Build(); // Настраиваем конвейер HTTP-запросов. если (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Home/Error"); // Значение HSTS по умолчанию — 30 дней. Возможно, вы захотите изменить это для рабочих сценариев, см. https://aka.ms/aspnetcore-hsts. // app.UseHsts(); } app.UseSerilogRequestLogging(); app.UseHttpsRedirection(); приложение.UseStaticFiles(); приложение.UseRouting(); приложение.UseAuthentication(); приложение.UseAuthorization(); приложение.MapRazorPages(); приложение.MapControllers(); Этот пост очень похож на мою проблему, но я не понимаю, что их решение предполагает, что я не сделал? Успешный вход в систему Asp.net core Identity перенаправляется обратно на страницу входа
У меня есть шаблонные страницы идентификации для создания/входа в систему пользователя и т. д. Все работает нормально, пользователи хранятся в моем бэкэнде MSSQL. В моем проекте есть две страницы, обе из которых находятся за тегом [Authorize].
Первая страница, на которую вы будете перенаправлены после успешного входа в систему, и она работает без проблем. Когда вы нажимаете кнопку на этой странице, чтобы перейти на следующую страницу, вам будет предложено снова войти в систему. После второго входа в систему эта страница отображается правильно. Я просматривал документацию, пытаясь выяснить, почему пользователь не может «сохранить» свой статус входа между страницами, но мои знания об этих системах очень ограничены, и документация часто пишется для людей с гораздо более техническими знаниями. опыта больше, чем у меня.
Кто-нибудь знает, в чем может быть проблема? Моя настройка Program.cs, относящаяся к Identity, находится здесь:
builder.Services.AddDefaultIdentity(options => options.SignIn.RequireConfirmedAccount = true) .AddEntityFrameworkStores() .AddDefaultTokenProviders(); builder.Services.ConfigureApplicationCookie(параметры => { options.ExpireTimeSpan = TimeSpan.FromMinutes(20); options.LoginPath = "/Identity/Account/Login"; options.SlidingExpiration = true; }); // Добавляем службы логгера builder.Host.UseSerilog((контекст, сервисы, конфигурация) => конфигурация .ReadFrom.Services(услуги) .Enrich.FromLogContext() .WriteTo.Консоль() .WriteTo.File("log.txt",rollingInterval: RollingInterval.Day)); builder.Services.AddDistributedMemoryCache(); // Добавляем сервисы в контейнер. builder.Services.AddControllersWithViews(); builder.Services.AddRazorPages(); вар приложение = builder.Build(); // Настраиваем конвейер HTTP-запросов. если (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Home/Error"); // Значение HSTS по умолчанию — 30 дней. Возможно, вы захотите изменить это для рабочих сценариев, см. https://aka.ms/aspnetcore-hsts. // app.UseHsts(); } app.UseSerilogRequestLogging(); app.UseHttpsRedirection(); приложение.UseStaticFiles(); приложение.UseRouting(); приложение.UseAuthentication(); приложение.UseAuthorization(); приложение.MapRazorPages(); приложение.MapControllers(); Этот пост очень похож на мою проблему, но я не понимаю, что их решение предполагает, что я не сделал? Успешный вход в систему Asp.net core Identity перенаправляется обратно на страницу входа
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение