Mit DotNetOpenAuth 3 in ASP.NET MVC und Implementierung einer RememberMe Einrichtung ...RememberMe mit DotNetOpenId in ASP.NET MVC
Ich finde, dass, selbst wenn ich gesetzt createPersistentCookie auf true in FormsAuthentication.RedirectFromLoginPage und FormsAuthentication. SetAuthCookie der Benutzer nicht erinnert wird einmal die ASP.NET-Sitzung aus ausläuft.
Wenn ich den Cookie überprüfe, finde ich, dass er als persistent markiert ist und in der Zukunft ein Ablaufdatum hat, nehme ich an, weil ich mein web.config FORMS Timeout auf ein paar Jahre eingestellt habe. Wenn der Benutzer den Browser schließt und ihn erneut öffnet, werden sie jedoch korrekt gespeichert - solange die ASP-Sitzung nicht abgelaufen ist.
An older post von Scott Hanselmanns lässt mich fragen, ob es ist, weil FormsAuthentication versucht, das Authentifizierungsticket zu erneuern und vielleicht in einem OpenId-Modell, das nicht funktioniert, aber FORMS SlidingExpiration = "false" in web.config gesetzt habe und sowieso ich dachte, dass das Erzwingen eines dauerhaften Cookies dieses Zeug irrelevant machen würde.
Ich frage mich auch, warum das DotNetOpenId MVC-Beispiel keine RememberMe-Checkbox enthält - vielleicht gibt es da etwas Schwieriges?
Auf der anderen Seite, hier bei StackOverflow ich sehe, ich werde automatisch über Sitzungen erinnert. Sie fragen sich, ob sie etwas anderes als DotNetOpenId für ihre OpenId-Authentifizierung verwendet haben.
Hat jemand anderes RememberMe erfolgreich mit DotNetOpenId in ASP.NET MVC getan? Irgendwelche Tricks?
[Update]
Dank für den Versuch, Andrew zu helfen. Es stellte sich heraus, dass es sich nicht um DotNetOpenId handelte.
Ich sammle nach dem Lesen this, dass mein Hosting-Provider wahrscheinlich den App-Pool regelmäßig recyceln und das die Authentifizierung Ticket-Verschlüsselung mit einem neuen Computerschlüssel durchgeführt wird.
Gemäß dem verlinkten Artikel vorhergehenden habe ich folgende unter System.Web in meinem Web.Config und es das Problem behoben:
<machineKey
validationKey="(generated a new key to place here)"
decryptionKey="(generated a new key to place here)"
validation="SHA1"
decryption="AES" />
Hallo Martin, StackOverflow verwendet tatsächlich DotNetOpenId. Ich denke, dass Ihr Cookie-Session-Problem wahrscheinlich nichts mit OpenID zu tun hat, da ich denke, dass es keine Chance für DNOI gibt, sich in Ihren Cookie einzumischen und keinen Benutzer auszuloggen. Ich werde versuchen, etwas darüber zu recherchieren und eine Antwort zu posten, wenn ich etwas lerne. –
Vielen Dank dafür. Es hat mir geholfen. Sie sollten Ihre Lösung als Antwort posten, damit sie uplooted und das "self learner" -Abzeichen erhalten kann – BigJoe714