2010-12-04 6 views
3

Ich habe eine grundlegende Website mit einem Mitglied Login-Seite und einem Verwaltungs-Back-End-Bereich. Ich verwende ASP.NET-Mitgliedschaftstabellen zur Authentifizierung.Benutzer muss sich erneut anmelden, wenn ich von HTTP zu HTTPS umleiten

Wenn sich ein Mitglied anmeldet, werden sie authentifiziert und haben Zugriff auf ihr Mitgliedsprofil und andere verwandte Mitgliederbereiche.

Wenn sich ein Benutzer anmeldet und erkennt, dass er sich in der ADMINISTRATOR-Rolle befindet, ist ein Link zum Zugriff auf den Admin-Bereich der Site verfügbar.

Wenn der Administrator auf diesen Administratorlink klickt, leitet die Site zum SSL HTTPS-Protokoll um und soll den Administrator an den Administrationsbereich der Site senden.

string SecureURL; 

    SecureURL = "https://"; 
    SecureURL = SecureURL + Request.ServerVariables["SERVER_NAME"]; 
    SecureURL = SecureURL + "/Administration/Default.aspx"; 

    Response.Redirect(SecureURL, true); 

Jedoch wird der Benutzer zurück auf die Login-Seite umgeleitet und hat sich erneut einloggen und dann können sie den Admin-Bereich zugreifen.

Wie kann ich erzwingen, dass der Benutzer angemeldet bleibt, wenn er von HTTP auf HTTPS wechselt ?????

+0

Wie verfolgen Sie den Sitzungsstatus? Ein Keks? Wenn dies der Fall ist, wird der Cookie nicht zurückgesendet, da er nicht sicher ist. Also wirst du die Session auf die HTTPS-Seite einer anderen Methode propagieren (verstecktes Feld/URL-Param/etc ..) Aber mit der Veröffentlichung von feuersheep sollten alle deine Login-Sachen unter ssl sein, um den Session-Hijack zu verhindern. – Doon

Antwort

0

Gibt es einen bestimmten Grund, warum Sie Ihre Login-Seite unter SSL gelegt hat?

Verwandte Themen