2016-07-13 8 views
1

Was ist die beste Vorgehensweise beim Löschen von Servicedaten für AngularJS? Wenn sich beispielsweise Benutzer1 abmeldet und ein Benutzer2 sich wieder im selben Browser anmeldet, verwendet Benutzer2 die gleichen Servicedaten wie Benutzer1, wenn ich die Servicedaten nicht lösche.Zurücksetzen/Löschen von Servicedaten in AngularJS

Zum Beispiel im folgenden Code, wenn Benutzer1 mehr Benutzer zum Dienst hinzugefügt und ausgeloggt hat, und in demselben Browser, wenn Benutzer2 wieder angemeldet wäre, könnten sie alle Benutzer Benutzer1 hinzugefügt sehen.

Ich habe zwei Lösungen, um dieses Problem anzugehen, aber keine sind ideal.

  1. Manuelles Zurücksetzen jeder einzelnen Eigenschaft im Dienst. Dies scheint keine ideale Lösung zu sein, weil jemand das irgendwann vergessen könnte.
  2. Fenster beim Abmelden neu laden. Scheint, den Dienst zurückzusetzen, aber es ist etwas schlechte Benutzererfahrung.

Gibt es eine bessere Alternative?

+0

Es hängt von vielen Parametern ab, und Ihre Frage ist zur Zeit zu weit gefasst. Sie können versuchen, https://github.com/witoldsz/angular-http-auth - Erlauben Sie Ihnen, Abmeldung/nicht autorisierte Anfragen mit Ereignissen zu behandeln –

+0

Ich benutze bereits einen Abfangjäger. Was ich gerne wissen würde, ist während des Abmeldevorgangs, wie kann ich den Dienststatus effizient löschen? – m0g

+0

Auch hier kommt es auf Ihren Code an - Speichern Sie die Daten in einem localStorage, Variablen? Es wäre am besten, wenn Sie auch einen Code in die Frage einfügen könnten, verwenden Sie das 'ui-route' Modul oder einfach' ngRoute'. Zu viele unbekannte Faktoren –

Antwort

1

On logout:

window.location.href = "yourloginurl";

Es spielt keine Rolle, ob das Abmelden nicht so schnell ist wie der Rest Ihres SPA.

+0

Ich stimme damit überein. Spart viel Zeit –