Я пытаюсь создать приложение asp.net core mvc 6, используя аутентификацию cookie Middleware. Мой код компилируется без ошибок, но даже после успешного входа я не авторизованный пользователь
Здесь моя конфигурация startup.cs
app.UseCookieAuthentication(options =>
{
options.AuthenticationScheme = "CookieAuth";
options.LoginPath = new PathString("/Account/Login/");
options.AccessDeniedPath = new PathString("/Account/Login/");
options.AutomaticAuthenticate = true;
options.AutomaticChallenge = true;
});
Также действие входа в контроллер:
public async Task<IActionResult> Login(LoginViewModel model)
{
User foundUser = _userManager.findUser(model.UserName, model.Password);
if (foundUser != null)
{
List<Claim> userClaims = new List<Claim>
{
new Claim("userId", Convert.ToString(foundUser.UserID)),
new Claim(ClaimTypes.Name, foundUser.UserName),
new Claim(ClaimTypes.Role, Convert.ToString(foundUser.RoleID))
};
ClaimsPrincipal principal = new ClaimsPrincipal(new ClaimsIdentity(userClaims));
await HttpContext.Authentication.SignInAsync("CookieAuth", principal);
return RedirectToAction("Index", "Dashboard");
}
return View();
}
И наконец, действие Dashboard/Index
[Authorize]
public IActionResult Index()
{
return View();
}
Я установил некоторые точки останова в действии входа, и все работает отлично. Cookie также установлен правильно.
И теперь я не знаю, как я не могу перейти на панель инструментов/индекс после входа в систему. Каждый раз, когда я перенаправляюсь в/Account/Login/из-за настроек конфигурации
Что я делаю неправильно?