2012-03-30 5 views
0

Dies gilt in IE, Firefox und Chrome auf Dev-Box- einschließlich nach dem manuellen Löschen von Cookies in IE Internetoptionen Ich melde mich als Benutzer , Passwort ändern (funktioniert) und abmelden. Ich kann mich dann als Benutzer mit dem alten und dem neuen Passwort anmelden - ein fehlerhaftes Passwort schlägt die Authentifizierung fehl. anmelden - Passwort ändern - Abmelden - Anmelden mit altem Passwort erneut authentisiert - Abmelden - Anmelden mit neuem Passwort authentisiert - Abmelden - Anmelden mit Junk-Passwort von Rinse natürlich nicht und Wiederholen - dasselbe Verhalten Gibt es einen Codeabschnitt für den Azure-Teil fehlt? Beunruhigender - grrr web.config:MVC3 Azure - Formularauthentifizierung - Abmelden miserabel - Ich habe eine schlechte, schlechte Sache

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/LogOn" timeout="15"></forms> 
</authentication> 

SIGNOFF Code:

public ActionResult LogOff() 
    { 
     FormsAuthentication.SignOut(); 

     // Drop all the information held in the session 
     Session.Clear(); 
     Session.Abandon(); 

     // clear authentication cookie 
     HttpCookie cookie1 = new HttpCookie(FormsAuthentication.FormsCookieName, ""); 
     cookie1.Expires = DateTime.Now.AddYears(-1); 
     Response.Cookies.Add(cookie1); 

     // clear session cookie 
     HttpCookie cookie2 = new HttpCookie("ASP.NET_SessionId", ""); 
     cookie2.Expires = DateTime.Now.AddYears(-1); 
     Response.Cookies.Add(cookie2); 
     foreach (var cookie in Request.Cookies.AllKeys) 
     { 
      Request.Cookies.Remove(cookie); 
     } 
     // Redirect the user to the login page 
     return RedirectToAction("LogOn"); 
    } 
+0

Wie speichern Sie die Authentifizierungsinformationen? Ist es möglich, dass Sie mehrere Passwörter für denselben Benutzer speichern? –

+0

Gespeichert in einer SQL-Tabelle - Nein - Ich speichere nicht mehrere Passwörter für denselben Benutzer. Wenn ich einen Benutzer auswähle, den ich nicht in diesem Browser verwendet habe, kann ich das Verhalten nicht wiederholen. (Ändern Sie im IE, dann öffnen Sie Firefox, nur das neue funktioniert). – user1166147

+0

Sie können versuchen, nicht alle Cookies zu entfernen(). Dies kann dazu führen, dass der Server sie nicht mit dem Ablaufdatum zurückgibt. –

Antwort

0

Ich habe nicht die Antwort vor Ort sehen! Gelöst! Scheint, dass EF zuvor empfangene Entitäten zwischenspeichert scatteredcode.wordpress.com/tag/dependency-injection/ Erzwingt das Erstellen einer neuen Mitgliedschaftsanbieterinstanz für diese Webanforderung und garantiert so, dass der Datenbankkontext keine veraltete Benutzerentität enthält. Danke Streucode -