2009-07-28 38 views
1

Ich entwickle eine E-Commerce-App mit asp.net mvc.ASP.Net MVC - beste Möglichkeit, wiederkehrende Benutzer zu identifizieren

Nach Benutzer erfolgreich in das System protokolliert die Anwendung zusätzliche Daten aus der Datenbank zieht (Favoriten, um Geschichte, unfertige Wagen etc.)

Was ist der beste Weg ist, dass die Daten für den Fall zu ziehen, wenn der Benutzer verwendet angemeldet bleiben Option ?

Ich denke zu überprüfen, ob der Benutzer authentifiziert ist und zusätzliche Daten nicht bereits auf der Masterseite geladen sind, aber es scheint nicht die beste Lösung.

Antwort

1

Ich habe eine Benutzerklasse, die alle diese Bits zusammen erfasst.

Beim Start der Sitzung überprüfe ich die Authentifizierung, erstelle sie, befülle sie und speichere sie in der Sitzungsvariablen. Dann können Sie darauf zugreifen, wo immer Sie möchten (ich habe auch eine statische Klasse Globals erstellt, die Objekte aus den Sitzungs- und Anwendungsvariablen abruft). Alternativ können Sie dies bei jedem Laden der Seite tun.

Das oben genannte kümmert sich um die Rückgabe der Benutzer. Aber Sie müssen auch daran denken, es bei der Anmeldung zu erstellen und es beim Abmelden (vom Accounts Controller) zu zerstören.

Auch würde ich vorschlagen, Sie darüber nachdenken, was genau auf diese Weise gespeichert werden muss. Die Sitzungsvariable eignet sich hervorragend zum Zwischenspeichern dieser Daten, aber ich weiß nicht, ob der Bestellverlauf zwischengespeichert werden muss. Dies wird in der Regel nur gelegentlich abgerufen. Selbst wenn Sie die Klasse nicht in die Sitzung einfügen und sie bei jedem Laden der Seite erstellen, scheint es in der Tat übertrieben zu sein, den Bestellverlauf zu erhalten. (Wie auch immer Sie Ressourcen verschwenden - sie im Cache speichern oder es häufig zu sammeln.)

James

+0

habe ich leichte Benutzerklasse, die ich auf meldet sich in der Sitzung am Speicherung und beim Abmelden löschen. Die Bestellhistorie wird dort nicht gespeichert, sondern auf Abruf abgerufen. Können Sie nähere Angaben dazu machen, WIE Sie nach Authentifizierung suchen? –

+0

Oh. Angenommen, Sie tun nichts Verrücktes (wie Ihre eigene Authentifizierung), überprüfen Sie HttpContext.Current.User.Identity.IsAuthenticated. Sie können auch den Benutzernamen von Identity.Name erhalten. –

Verwandte Themen