2016-06-16 8 views
0

I Server-Seite Sitzung in PHP + Angular 2 Anwendung bin Umsetzung und das ist mein Plan:Kosten der HTTP-Aufruf für Angular 2 + PHP-Anwendung

  1. eine Tabelle session_info in MySQL erstellen und es gibt eindeutige Sitzungs-ID .
  2. Um sicherzustellen, dass Sitzung zu machen, ist jedes Mal, Zustandsänderungen, dh neue Route gültig
gerichtet

ich einen HTTP-Aufruf mache Sitzung zu prüfen, gültig ist oder nicht für jede Komponente in ngInit aber ich bin besorgt über die Kosten einen HTTP-Aufruf auf jedem ngInit zu machen. Ist das der richtige Weg?

+1

Http-Anrufe gehören zu den teuersten Dinge, die Sie in Ihrer App tun können. Ich sehe keinen Vorteil darin, die Sitzungs-ID in jeder Komponente zu überprüfen. Wenn es für eine Komponente gültig ist, warum wäre es für die nächste ungültig? Warum teilen Sie nicht einfach den ID-Status über einen Dienst? Wofür ist diese Sitzungs-ID überhaupt? –

+0

Sobald der Benutzer gültige Anmeldeinformationen angibt, stelle ich eine eindeutige ID - Sitzungs - ID bereit, um zwischen Benutzern zu unterscheiden. Idee ist, eine Sitzung für den Benutzer zu führen - wenn es keine Sitzungs-ID gibt, werde ich den Benutzer abmelden. Mache ich Cookies, ist das ein besserer Ansatz? –

Antwort

0

Verwenden Sie JWT-Webtokens auf dem Server. Der Server muss sicherstellen, dass die Anrufe von einem authentifizierten Benutzer stammen.

Stellen Sie auf dem Server eine API bereit, mit der Sie den Status abfragen können, ob er ordnungsgemäß authentifiziert wurde.

Verwenden Sie einen global freigegebenen Dienst in Ihrer Angular-Anwendung, in dem der aktuell angemeldete Status beibehalten wird. Auf diese Weise müssen Sie den Server nur einmal fragen. Sie können die Aktualisierung mit einem Intervall (von Minuten bis Stunden) durchführen, wenn Sie dies für notwendig halten.

Jede Komponente oder Dienst, der den angemeldeten Status wissen möchte oder muss, fügt diesen Dienst hinzu und kann von dort die aktuellen Informationen abrufen.

Für die Kommunikation zwischen den Komponenten siehe https://angular.io/docs/ts/latest/cookbook/component-communication.html

See

+0

Haben Sie mich verstanden, das Problem = jetzt ein anderes Problem, wie JWT-Token in PHP-Anwendung generiert zu dekodieren und zu verwenden.
Saw-Paket angular2-jwt aber schwer zu verstehen, wie ich newb zu eckigen Welt bin .. können Sie vorschlagen, Tutorial oder Hinweise –

+0

https://github.com/auth0/angular2-jwt Ich habe es selbst nicht verwendet, obwohl. –