У меня очень странная проблема с сайтом .net core mvc, который размещен в IIS.
Когда пользователь входит в систему с этим кодом:
var claimsIdentity = new ClaimsIdentity(
new List<Claim>() { new Claim(ClaimTypes.Role, "Admin", null), new Claim("Name", userName, null) }, CookieAuthenticationDefaults.AuthenticationScheme);
var authProperties = new AuthenticationProperties
{
AllowRefresh = true,
ExpiresUtc = DateTimeOffset.UtcNow.AddMinutes(30),
IsPersistent = false,
};
HttpContext.SignInAsync(
CookieAuthenticationDefaults.AuthenticationScheme,
new ClaimsPrincipal(claimsIdentity),
authProperties);
Первый пользователь входит в систему с отображением его имени. Однако, когда другой пользователь входит в систему, он отображает имя первого пользователя, а не свое собственное.
Я попытался поэкспериментировать с параметрами cookie, но безуспешно, но это моя текущая конфигурация:
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options => {
options.Cookie.HttpOnly = false;
options.LoginPath = "/Account/Login";
options.LogoutPath = "/Account/LogOff";
options.Cookie.IsEssential = true;
options.Cookie.MaxAge = new TimeSpan(0, 2, 0, 0, 0);
options.Cookie.SameSite = SameSiteMode.Strict;
options.Cookie.Name = "SITECODEHERE";
});
Буду признателен за любую помощь, поскольку я уверен, что где-то совершаю глупую ошибку.