Я установил идентификацию в приложении Razor Pages, и, хотя вход выполнен успешно, он не сохраняется, что приводит к бесконечному циклу перенаправления на страницу входа.
Вот параметры запуска:
services.AddIdentity<IdentityUser, IdentityRole>(options => {
options.SignIn.RequireConfirmedEmail = false;
}).AddEntityFrameworkStores<MyContext>();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddRazorPagesOptions(options => {
options.Conventions.AuthorizePage("/BlogAdmin/Index");
options.Conventions.AllowAnonymousToPage("/BlogAdmin/Login");
});
Здесь я устанавливаю URL-адрес для входа в систему
services.ConfigureApplicationCookie(options =>
{
options.LoginPath = "/BlogAdmin/Login";
});
Это работает в том смысле, что вызывает аутентификацию в / BlogAdmin, но после входа я замечаю, что все значения в User являются нулевыми или по умолчанию, в частностиUser.Identity.IsAuthenticated
Вот логика входа (логин представляет собой простую страницу страниц бритвы)
public async Task<IActionResult> OnPostAsync(string returnUrl)
{
if (ModelState.IsValid)
{
var user = await userManager.FindByNameAsync(LoginViewModel.UserName);
if(user != null)
{
var result = await signInManager.PasswordSignInAsync(user, LoginViewModel.Password, false, false);
if (result.Succeeded)
{
return Redirect("/BlogAdmin");
}
}
}
ModelState.AddModelError("", "user/pass not found");
return RedirectToPage();
}
Результат всегда успешен, но при достижении маршрута / BlogAdmin он думаетЯ все еще не подтвержден.
Я пропускаю шаг?Спасибо