Ich erstelle eine Intranetsite, die die Windows-Authentifizierung verwendet, jedoch Autorisierungsansprüche mithilfe von Entity Framework speichert. Es gibt keine Benutzeranmeldung. Wenn der Browser geschlossen (Cookie gelöscht) und die Anwendung neu gestartet wird (CNTRL F5), überprüft der Home/Index-Controller, dass die Benutzer WindowsIdentity registriert ist und soll den Benutzer anmelden.ASP.NET CORE SignInAsync Erfordert Browseraktualisierung
public async Task<IActionResult> Index()
{
string userWin = WindowsIdentity.GetCurrent().Name.Split('\\')[1];
var user = await _userManager.FindByNameAsync(userWin);
if (user != null)
{
await _signInManager.SignInAsync(user, isPersistent: false);
string userHTTP = HttpContext.User.Identity.Name;
ViewData["Message"] = $"Registered User: {user} and HTTPUser: {userHTTP} is registered for this site";
}
else
ViewData["Message"] = "Please contact admin to register for this website";
return View();
}
Das erste Mal, das ausgeführt wird, ist userHTTP null und Ansicht html erfordern Benutzer-Anmelde nicht ausgeführt. Wenn der Browser aktualisiert wird, ist alles in Ordnung. Warum erfordert die Anmeldung und der HTTPContext eine Aktualisierung?