2017-12-27 3 views
0

Ich weiß, dass diese Frage beantwortet wird, aber es verdeutlicht meine Zweifel nicht.Angular 2 rollenbasierte Authentifizierung

Ich habe eine eckige App mit mehreren Modulen.

Ich bekomme die Rolle, wenn Benutzer sich in App anmelden und die Rolle im Shared Service festlegen.

Ich habe versucht, einen geteilten Dienst zu erstellen und die Rolle über den gemeinsamen Dienst in der gesamten App zu teilen. Dieser Ansatz funktioniert einwandfrei, aber beim Aktualisieren der Seite werden die Daten für den gemeinsamen Dienst gelöscht. So wird die Rolle zerstört.

Bitte lassen Sie mich wissen, wie kann ich ohne Speicherung Rolle in Browser-Speicher (aus Sicherheitsgründen) und Dritten Modul

+0

Sie können die Rolle im Token angeben, die vom Server zurückgegeben werden soll. So können Sie die Rolle durch Decodieren des Tokens erhalten. –

Antwort

0

rollenbasierte Authentifizierung implementieren Wenn Sie Benutzerrolle in Ihrem Browser nicht speichern wollen, dann Sie können die von Ihrer Datenbank bereitgestellte Benutzerkennung verwenden und sie als Cookie speichern.

Danach müssen Sie Funktion einstellen, die prüft, ob ein Cookie vorhanden ist oder nicht und funktioniert entsprechend. Versuchen Sie, passport.js für diesen Zweck zu verwenden.

Hoffe, das hilft.

+0

Ich habe bereits Back-End-Implementierung an Ort und Stelle. Das gibt mir eine Rolle, die auf Token basiert. Wie du erwähnt hast, "speicher es als Cookie", was ich vermeiden möchte. –

0

Sie müssen den Browserspeicher verwenden, um einige Daten zu speichern. die Optionen hier, welches Datum Sie speichern werden, bevorzuge ich das Speichern des Tokens anstelle der Benutzeranmeldeinformationen und geben Sie diesem Token einen bestimmten Zeitraum nach dieser Zeit löschen Sie es aus Ihrer Datenbank, und Sie müssen keine Anmeldeinformationen im Browser speichern Speicher

Verwandte Themen