2015-10-06 12 views
8

Ich möchte Benutzer, die die Option "An mich erinnern" auswählen, um für lange Zeit auf meiner Website angemeldet zu bleiben (z. B. 3 Monate oder bis Cookies gelöscht werden). Momentan muss ich mich alle 20 Minuten erneut anmelden.Benutzer für längere Zeit auf der ASP.NET 5-Website anmelden

Ich benutze ASP.NET 5/vnext/mvc 6 (beta 7). Meine Website basiert auf dem Code, den Visual Studio als Vorlagenprojekt erstellt. Ich weiß, dass andere Fragen ähnliche Fragen stellen, aber ich sehe nicht, wie es im neuen ASP.NET funktioniert.

Ich habe diesen Code in meiner Startup.ConfigureServices Methode, aber es scheint nicht, um einen Effekt zu haben:

services.ConfigureIdentityApplicationCookie(options => 
    {    
     options.ExpireTimeSpan = TimeSpan.FromDays(90); 
     options.SlidingExpiration = true; 
     options.AutomaticAuthentication = true; 
     options.LoginPath = new PathString("/Account/Login"); 
     options.LogoutPath = new PathString("/Account/LogOff"); 
    }); 

dank

EDIT

Fiedler Mit der Antwort von der Anmeldung enthält diese Cookie-Daten:

Respo NSE gesendet 642 Bytes von Cookie-Daten: Set-Cookie: .AspNet.Microsoft.AspNet.Identity.Application = CfDJ8P8cKnxL87ZMjh0duvm7eKbBbA_vf1ECr95KgPd4MNsKBj0_SljMLWLPNzNFIr4PQTG1ZjVyQ7cfFMEehcI5JZrOlVVHfZ_SD29jN1vdhsdUMPTysvhvo6RlnDHq5YwFdnTNqw-_ia4cGWk8Iw05PJHsQ0mws_e0DzWpX088kysJuU0LcNoyPA22nyMoGrK1RP1Bax_XwixdO6jLQx164lqRqVYi6ys3VVPJP0aLOg3w4CovxcAemgMQEhAcNUdP6Q0rnBmfBn7FZR_kNEgXoiMkNNgBDwUuVyiweU3fw5rzE-mmBPo2IYBJWRoaSzNLcUV5gSTpDT2n8IMh4nPlTzGrFIUgCpHDhpmXJJ3EneC5i-eVaLGeQG1FAIBZZ-oNlolwdkXi63bXpHuRME9cnYLTm3cDpfooXKq0_Rn7ls4lN-wCF5kGvz6ALruUaPWNERvcKlccix7o3B_-rj1q5yhn1bKO2vumArRaq-QpHb2djaN84IdFBOw1CSJLpeQKeP3qrdJD8-GYl6chvbJ4FbA; läuft ab = Mo, 04 Jan 2016 10:40:35 GMT; Pfad = /; httponly

Sie können am Ende die Ablaufzeit in 90 Tagen sehen, die korrekt ist, aber es wird mich immer noch in 20 Minuten oder so abmelden.

+2

Haben Sie jemals [Fiddler] (http://www.telerik.com/fiddler) verwendet? Dadurch erhalten Sie die Antwort von Ihrer Seite und darüber, wie die Cookies an den Client zurückgegeben wurden und was Sie an die Anwendung gesendet haben. Dies könnte Ihnen helfen zu diagnostizieren, was falsch läuft. –

+0

Wie speichern Sie den Cookie tatsächlich auf dem Client? –

+0

Phil, ich habe keinen Geiger benutzt, ich werde es versuchen, danke. – MartinR

Antwort

-2

Sie können die Sammlung cookies auf verschiedene Arten in die Cookies-Sammlung aufnehmen. Das folgende Beispiel zeigt zwei Methoden zum Schreiben von Cookies:

Response.Cookies["userName"].Value = "patrick"; 
Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1); 

HttpCookie aCookie = new HttpCookie("lastVisit"); 
aCookie.Value = DateTime.Now.ToString(); 
aCookie.Expires = DateTime.Now.AddDays(1); 
Response.Cookies.Add(aCookie); 
Verwandte Themen