Zugriff auf session-Variablen sailsjs anzeigen

Ich bin ganz neu auf sailsjs und nodejs. Ich bin versucht, erstellen Sie eine Seite Authentifizierung, wobei sobald ein Benutzer authentifiziert ist, den ich einstellen will

req.session.user = user.id
req.session.authenticated = true

Ich dann zugreifen zu können, müssen diese Werte innerhalb meiner main-layout.ejs-Datei. Ich habe so getan, mithilfe

res.locals.user = _.clone( req.session.user )

Allerdings ist mir aufgefallen, dass diese clone-Methode aufgerufen werden, in der jede Funktion von jedem controller so, dass ich mich in der Lage, den Zugriff auf die Benutzer in den Ansichten. Gibt es eine bessere Möglichkeit für den Zugriff auf session-Variablen sailsjs globbaly, ohne zu Klonen, die erf.Sitzung in jedem controller. Ein Beispiel von dem, was ich Tue, kann hier gefunden werden:

http://pastebin.com/HyE2H4Kq

Wie Sie sehen können, habe ich aufgerufen, die clone-Methode am Anfang der verschiedenen Funktionen innerhalb des Reglers.

  • Wenn die Benutzer-id zugewiesen wurde req.session.user können Sie auf eine variable namens user in der view-Datei und rufen Sie res.view({user: req.session.user}) in der controller-action.
  • Danke für die Antwort. Wie bereits in meinem post, das ist, was ich nicht tun wollen. Da die Benutzer-session-Daten werden benötigt, um den Zugriff innerhalb layout.ejs-Datei, die ich nicht wollen, übergeben Sie die Benutzer-Informationen aus, in jeder controller-action zur Ansicht. Gibt es eine Möglichkeit, den Zugriff auf die session-details Global, oder um Werte, die aus zugegriffen werden kann, innerhalb einer Ansicht, ohne explizit festgelegt wird, auf jede controller-Aktion?
  • Sie definieren eine benutzerdefinierte middleware um dies zu erreichen. Für details, besuchen Sie das link
InformationsquelleAutor kushaldsouza | 2014-02-23
Schreibe einen Kommentar