ASP.NET Identität 2 Remember Me - Benutzer Wird abgemeldet
Ich bin mit Identität 2.1 in meinem MVC5-app.
Ich bin Einstellung der isPersistent Eigenschaft des PasswordSignInAsync auf true zum aktivieren von 'Remember Me':
var result = await SignInManager.PasswordSignInAsync(model.Username,
model.Password,
true,
shouldLockout: false);
Aber wenn ich eingeloggt bleiben über Nacht, wenn ich dann aktualisieren Sie die Seite, in der früh, loggt es mich aus und ich habe erneut anmelden.
Wie kann ich verhindern das automatische ausloggen, bis der Benutzer manuell abmeldet?
Ist es etwas zu tun mit der Cookie-Authentifizierung, Identität verwendet? Ich weiß wirklich nicht verstehen, die CookieAuthenticationOptions in Startup.Auth.cs.
new CookieAuthenticationProvider
{
OnValidateIdentity = SecurityStampValidator
.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
validateInterval: TimeSpan.FromMinutes(30),
regenerateIdentity: (manager, user)
=> user.GenerateUserIdentityAsync(manager))
}
validateInterval: TimeSpan.FromMinutes(30)
bedeutet, dass das cookie wird nur für 30 Minuten gültig. ALSO ja, es wird abgelaufen sein, bis zum morgen.- Super, danke. Ich war mir nicht sicher, ob Sie verwandt waren.
- Haben Sie die Antwort, die Sie erwartet haben? Jeder sagte der eine zum ändern expireTimeSpan. Ich brauche, wie unsere Anwendung sollte festgelegt expireTimeSpan, aber im Falle der gewählten erinnere dich an mich, dann wird der token nicht erlischt jeglicher Ursache bis der Benutzer manuell Abmelden.
- ich will sowas auch, haben Sie die Lösung ?
- Der token abläuft Zeit kann nicht geändert werden, wie wir in der Sitzung. Nur können wir erneuern den token manuell. Wir haben zu tun mit dem "Refreshtoken" - Funktion. Aber hier ist das schwierig, wir tun müssen ist, wir müssen noch ein refresh token nach einem Intervall der Zeit. Das wird uns helfen, um den Benutzer aktiv. Haben Sie versuchen, diese?
- bitoftech.net/2014/07/16/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie sollten Lesen dieser Artikel . Es gibt zwei verschiedene Intervalle:
ValidateInterval
undExpireTimeSpan
. Und in Ihrem Fall, ich denke, Sie sollten dieexpireTimeSpan
, nicht dieValidateInterval
.Gibt es eine Erklärung für
TimeSpan
parameter in ähnliche Frage. Verwenden Sie einfach die unendliche cookies, wie diese:Dies ist auch erforderlich, damit Sie ordnungsgemäß funktionieren:
Call
bevor
OnValidateIdentity = SecurityStampValidator .OnValidateIdentity<ApplicationUserManager, ApplicationUser>( validateInterval: TimeSpan.FromDays(30), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
Dem cookie ist es denn eigentlich sein?TimeSpan
Ich soll mehr schreiben. Dieser seltsame code:
Folge hatte, dass meine app, um verlorene cookie nach 1 Tag. Ich weiß wirklich nicht, warum, aber nach Ausschluss dieser code und Zugabe von ATM-Taste auf meiner Website.config "remember me" die Zukunft ist endlich richtig funktioniert.
Mein aktuelle code:
Form dieser Beitrag, die
isPersistent
parameter legt fest, ob die Authentifizierung session persistiert über mehrere Anfragen hinweg.