Benutzer werden gebeten, sich alle 20 Minuten oder so einzuloggen.
Eine dieser Situationen, in denen ich nicht weiß, wo ich hinschauen soll. Ich benutze C # MVC 5 IdentityFramework 1.0.0
Ich möchte die Timeout-Zeit auf 4 Stunden setzen.
Bis jetzt habe ich in web.config versucht:
%Vor%und in Startup.Auth.sc:
%Vor%Was vermisse ich?
BEARBEITEN - LÖSUNG
Die Lösung besteht darin, machineKey in web.config unter system.web abzulegen. Schlüsselgenerator kann Ссылка
gefunden werdenIch habe auch zu Identity 2.0 migriert und diese Einstellungen beibehalten. Mit diesem Blog als GUID migriert: Ссылка
Tritt dies auch dann ein, wenn Sie die Site lokal ausführen? Werfen Sie einen Blick auf diesen Blog-Beitrag , der einen beschreibt ähnlicher Fall.
Der Punkt aus dem Blogpost ist:
... Denken Sie daran, dass die Formularauthentifizierung den computerKey des Computers verwendet um das Formular-Authentifizierungs-Cookie zu verschlüsseln. "Könnte der Maschinenschlüssel sein im Laufe der Zeit auf meinem Shared-Hosting-Server? ", fragte ich mich.
Bevor ich sie per E-Mail anfragen ließ, habe ich mir die Dokumentation auf MSDN für angesehen machineKey und entdeckte, dass es einen AutoGenerate-Modus gibt, der das kann eingestellt werden, um einen neuen Rechnerschlüssel jedes Mal neu zu generieren, wenn der Host für einen Web-Anwendung startet ... nach 20 Minuten Inaktivität! Ah ha!
Stellen Sie sicher, dass Sie keine Hintergrund-Ajax-Aktivität haben, da sie sich auf die Sitzung auswirkt (SlidingExpiration ist standardmäßig true). Außerdem müssen Sie alte Cookies manuell löschen, nachdem Sie ExpireTimeStamp von 14 Tagen auf einen kleineren Wert geändert haben.
Tags und Links asp.net-mvc entity-framework authentication logout