Próbuję utworzyć aplikację asp.net core mvc 6 przy użyciu uwierzytelniania Cookie Middleware. Mój kod kompiluje bez błędów, ale nawet po udanym logowaniu nie jestem upoważniony użytkownikAsp.Net MVC 6 Uwierzytelnianie plików cookie - autoryzacja kończy się niepowodzeniem
Oto moje startup.cs konfiguracyjne
app.UseCookieAuthentication(options =>
{
options.AuthenticationScheme = "CookieAuth";
options.LoginPath = new PathString("/Account/Login/");
options.AccessDeniedPath = new PathString("/Account/Login/");
options.AutomaticAuthenticate = true;
options.AutomaticChallenge = true;
});
zalogować także działania w moim kontrolera:
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();
}
I wreszcie akcja Dashboard/Index
[Authorize]
public IActionResult Index()
{
return View();
}
Położyłem trochę breakpoi nts w akcji logowania i wszystko wydaje się działać dobrze. Plik cookie jest również ustawiony prawidłowo.
I teraz nie wiem sposób nie mogę iść do tablicy rozdzielczej/indeksu po logowania. każdym razem jestem przekierowany/Konto/Logowanie/z powodu ustawień konfiguracyjnych
Co robię źle ?
Dziękuję bardzo! Ponieważ straciłem 2 godziny mojego życia :( – Kuba
Zasłużony głos w górę, dziękuję za odpowiedź! 2+ godziny stracone, ale przynajmniej wiem dlaczego! –
Spędziłam 4 godziny na to.Dzięki. Co powinno być ustawione dla parametru 'authenticationType'? Czy jest to plik" Cookie "," JWT "lub używany schemat, czy coś w tym stylu? – Omar