Мое приложение разделено на 2 отдела: Производство и Администрирование.
Производство имеет другую страницу входа в систему из-за разного ввода, которое они должны предоставить для аутентификации в приложении.
Я сделал этопри моем запуске
services.AddAuthentication(options => {
options.DefaultScheme = "OperadorAuth";
})
.AddCookie("OperadorAuth", "OperadorAuth", options =>
{
options.ExpireTimeSpan = TimeSpan.FromDays(1);
options.Cookie.Name = "OperadorAuth";
options.LoginPath = new PathString("/Production/Index");
options.LogoutPath = new PathString("/Production/Logout");
options.AccessDeniedPath = new PathString("/Production/AccessDenied/");
options.SlidingExpiration = true;
})
.AddCookie("AdminAuth", "AdminAuth", options =>
{
options.ExpireTimeSpan = TimeSpan.FromDays(1);
options.Cookie.Name = "AdminAuth";
options.LoginPath = new PathString("/Administration/Index");
options.LogoutPath = new PathString("/Administration/Logout");
options.AccessDeniedPath = new PathString("/Administration/AccessDenied/");
options.SlidingExpiration = true;
});
Однако это не работает, потому что во время входа в систему, когда я делаю это, и я пытаюсь получить доступ к пользовательскому контексту после того, как у него нет претензий или каких-либо признаков аутентификации.
await HttpContext.SignInAsync("AdminAuth",
new ClaimsPrincipal(userIdentity),
authProperties);
если я сделаю это для назначенного по умолчанию при запуске, я смогу получить доступ ко всему, и пользователь аутентифицирован.
await HttpContext.SignInAsync ("OperadorAuth", новый ClaimsPrincipal (userIdentity), authProperties);
Итак ... Что мне здесь не хватает?Какой смысл создавать несколько файлов cookie, если они не работают?