2016-04-30 9 views
1

Ich habe ein Problem mit Identity 3 in unserer asp.net-Kernanwendung. Wir verwenden „Standard“ Zeichen in:Identität 3 funktioniert nicht Internet Explorer

var result = await _loginManager.PasswordSignInAsync(model.UserName, model.Password, false, lockoutOnFailure: false); 

Das Ergebnis ist Ok und das Cookie im Browser gesetzt und every sieht richtig, aber mit dem Internet Explorer die authoriozation nicht auf folgenden Aufrufe an die App funktioniert, der Benutzer wird erneut auf die Login-Seite weitergeleitet. In Chrome funktioniert es gut.

+1

haben genau das gleiche Problem, ich bin einfach nicht Identität verwenden, aber HttpContext.Authentication.SignInAsync (CookieInstance, Principal). Es funktioniert gut in Chrome, Firefox und Opera, aber IE und Edge werden nicht bei der Eingabe authentifiziert. Hast du eine Idee bekommen, was das verursacht und wie man es repariert? – astian

+1

Es stellte sich heraus, dass es in meinen IE-Cookies so etwas om-Müll gab. Als ich alle Cookies und den Verlauf in IE löschte, fing es an zu arbeiten. –

+0

temporären Dateien und Website-Dateien zu löschen ist, was benötigt wird, um es zum Laufen zu bringen, aber es ist nur eine vorübergehende Lösung, und Sie können Benutzer nicht bitten, dies zu tun. – SSED

Antwort

0

Fügen Sie jedem API-Aufruf [ResponseCache (NoStore = true)] hinzu, da der IE das Ergebnis zwischenspeichert und die Authentifizierung fehlschlägt, sofern die temporären Dateien nicht manuell gelöscht werden.

-Code wie folgt:

[HttpPost] 
    [ResponseCache(NoStore = true)] 
    public async Task<IActionResult> Login([FromBody] Login login) etc 
Verwandte Themen