Я наконец-то дошел до преобразования некоторых. Net Framework-проектов в Core (3.0). В настоящее время я просто смотрю на проверку подлинности Cook ie и запускаю простой пример.
У меня есть заявки и логин ie, созданный с допустимыми данными, но любое действие контроллера с [Авторизация] всегда перенаправляет на страницу входа (что означает, что мы не вошли в систему). Однако на странице входа в систему я вывел утверждения и состояние IsAuthenticated, и он возвращает действительные данные.
Функция входа в систему
var claims = new List<Claim>
{
new Claim(ClaimTypes.NameIdentifier, "ID"),
new Claim(ClaimTypes.Name, "TEST"),
new Claim(ClaimTypes.GivenName, "Test"),
new Claim(ClaimTypes.Surname, "TEST"),
new Claim(ClaimTypes.DateOfBirth, DateTime.Now.ToString("o"), ClaimValueTypes.DateTime)
};
var identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
var principal = new ClaimsPrincipal(identity);
await HttpContext.SignInAsync(principal);
Пример 'Безопасная зона'
[Authorize()]
public IActionResult Secure()
{
return View();
}
Настройка служб:
services.AddControllersWithViews();
services.AddMvc();
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
{
options.Cookie.Name = "TestAuthCookie";
options.LoginPath = "/Home/Login";
options.LogoutPath = "/Home/Logout";
});
Настройка при запуске.